X-Git-Url: http://nitlanguage.org diff --git a/c_src/parser._sep.c b/c_src/parser._sep.c index a6a7131..bc5a062 100644 --- a/c_src/parser._sep.c +++ b/c_src/parser._sep.c @@ -1,33634 +1,118082 @@ /* This C file is generated by NIT to compile module parser. */ #include "parser._sep.h" -val_t parser___State___state(val_t self) { - struct trace_t trace = {NULL, "parser::State::state (src/parser//parser.nit:10,2--11:35)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return ATTR_parser___State____state( self) /*State::_state*/; -} -void parser___State___state__eq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::State::state= (src/parser//parser.nit:10,2--11:35)"}; - trace.prev = tracehead; tracehead = &trace; - ATTR_parser___State____state( self) /*State::_state*/ = param0; - tracehead = trace.prev; - return; -} -val_t parser___State___nodes(val_t self) { - struct trace_t trace = {NULL, "parser::State::nodes (src/parser//parser.nit:13,2--14:38)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return ATTR_parser___State____nodes( self) /*State::_nodes*/; -} -void parser___State___nodes__eq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::State::nodes= (src/parser//parser.nit:13,2--14:38)"}; - trace.prev = tracehead; tracehead = &trace; - ATTR_parser___State____nodes( self) /*State::_nodes*/ = param0; - tracehead = trace.prev; - return; -} -void parser___State___init(val_t self, val_t param0, val_t param1, int* init_table) { - struct trace_t trace = {NULL, "parser::State::init (src/parser//parser.nit:16,2--19:16)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = param1; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_State].i]) return; - ATTR_parser___State____state( self) /*State::_state*/ = variable0 /*state*/; - ATTR_parser___State____nodes( self) /*State::_nodes*/ = variable1 /*nodes*/; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_State].i] = 1; - tracehead = trace.prev; - return; -} -void parser___Parser___init(val_t self, val_t param0, int* init_table) { - struct trace_t trace = {NULL, "parser::Parser::init (src/parser//parser.nit:33,2--41:20)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Parser].i]) return; - ATTR_parser___Parser____lexer( self) /*Parser::_lexer*/ = variable0 /*lexer*/; - variable1 = NEW_array___Array___init(); /*new Array[State]*/ - ATTR_parser___Parser____stack( self) /*Parser::_stack*/ = variable1; - variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1))); - ATTR_parser___Parser____stack_pos( self) /*Parser::_stack_pos*/ = variable1; - ((parser_tables___Parser___build_goto_table_t)CALL( self,COLOR_parser_tables___Parser___build_goto_table))( self) /*Parser::build_goto_table*/; - ((parser_tables___Parser___build_action_table_t)CALL( self,COLOR_parser_tables___Parser___build_action_table))( self) /*Parser::build_action_table*/; - ((parser___Parser___build_reduce_table_t)CALL( self,COLOR_parser___Parser___build_reduce_table))( self) /*Parser::build_reduce_table*/; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Parser].i] = 1; - tracehead = trace.prev; - return; -} -val_t parser___Parser___go_to(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::Parser::go_to (src/parser//parser.nit:44,2--65:16)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable2 = ((parser___Parser___state_t)CALL( self,COLOR_parser___Parser___state))( self) /*Parser::state*/; - variable1 = variable2; - variable3 = ATTR_parser_tables___Parser____goto_table( self) /*Parser::_goto_table*/; - variable4 = variable0 /*index*/; - variable5 = TAG_Bool(UNTAG_Int( variable4 /*index*/)>=UNTAG_Int( TAG_Int(0))); - variable6 = variable5; - if (UNTAG_Bool(variable6)) { /* and */ - variable6 = variable3; - variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/; - variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable9 = variable8; - if (UNTAG_Bool(variable9)) { /* and */ - variable9 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/; - variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)vft[INIT_TABLE_POS_State].i; + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + if (init_table[itpos0]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16; + fra.me.meth = LOCATE_parser___State___init; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + fra.me.REG[1] = p2; + /* ./parser//parser.nit:18 */ + ATTR_parser___State____state(fra.me.REG[0]) = REGB0; + /* ./parser//parser.nit:19 */ + ATTR_parser___State____nodes(fra.me.REG[0]) = fra.me.REG[1]; + stack_frame_head = fra.me.prev; + init_table[itpos0] = 1; + return; +} +void parser___Parser___init(val_t p0, val_t p1, int* init_table){ + int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Parser].i; + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + if (init_table[itpos1]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34; + fra.me.meth = LOCATE_parser___Parser___init; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[2] = fra.me.REG[0]; + /* ./parser//parser.nit:34 */ + CALL_parser_tables___ParserTable___init(fra.me.REG[0])(fra.me.REG[0], init_table); + /* ./parser//parser.nit:37 */ + ATTR_parser___Parser____lexer(fra.me.REG[2]) = fra.me.REG[1]; + fra.me.REG[1] = NEW_Array_array___Array___init(); + /* ./parser//parser.nit:38 */ + ATTR_parser___Parser____stack(fra.me.REG[2]) = fra.me.REG[1]; + REGB0 = TAG_Int(1); + REGB0 = TAG_Int(-UNTAG_Int(REGB0)); + /* ./parser//parser.nit:39 */ + ATTR_parser___Parser____stack_pos(fra.me.REG[2]) = REGB0; + /* ./parser//parser.nit:40 */ + CALL_parser_tables___ParserTable___build_goto_table(fra.me.REG[2])(fra.me.REG[2]); + /* ./parser//parser.nit:41 */ + CALL_parser_tables___ParserTable___build_action_table(fra.me.REG[2])(fra.me.REG[2]); + /* ./parser//parser.nit:42 */ + CALL_parser___Parser___build_reduce_table(fra.me.REG[2])(fra.me.REG[2]); + stack_frame_head = fra.me.prev; + init_table[itpos1] = 1; + return; +} +val_t parser___Parser___go_to(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t REGB4; + val_t REGB5; + val_t REGB6; + val_t REGB7; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 45; + fra.me.meth = LOCATE_parser___Parser___go_to; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]); + REGB2 = TAG_Bool(ATTR_parser_tables___ParserTable____goto_table(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:49 */ + if (UNTAG_Bool(REGB2)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_goto_table"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 49); + nit_exit(1); + } + fra.me.REG[0] = ATTR_parser_tables___ParserTable____goto_table(fra.me.REG[0]); + REGB2 = TAG_Int(0); + REGB2 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB2)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB2)) { + REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL); + if (UNTAG_Bool(REGB2)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); } - variable8 = variable9; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);} - variable8 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/; - variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)]; - goto return_label5; - return_label5: while(false); - variable7 = variable8; - variable7 = TAG_Bool(UNTAG_Int( variable1 /*state*/)=UNTAG_Int( TAG_Int(0))); - variable9 = variable8; - if (UNTAG_Bool(variable9)) { /* and */ - variable9 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/; - variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)UNTAG_Int(variable7)); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = TAG_Int(UNTAG_Int( variable5 /*middle*/)+UNTAG_Int( TAG_Int(1))); - variable3 = variable7 /*low=*/; - } else { /*if*/ - variable7 = TAG_Int(UNTAG_Int( variable6 /*subindex*/)+UNTAG_Int( TAG_Int(1))); - variable8 = variable7; - variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0))); - variable10 = variable9; - if (UNTAG_Bool(variable10)) { /* and */ - variable10 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/; - variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)val[UNTAG_Int(REGB0)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label1; + label1: while(0); + REGB0 = TAG_Int(1); + REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//collection//array.nit:23 */ + if (UNTAG_Bool(REGB2)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23); + nit_exit(1); + } + REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]); + REGB3 = TAG_Int(2); + REGB3 = TAG_Int(UNTAG_Int(REGB2)/UNTAG_Int(REGB3)); + REGB2 = TAG_Int(1); + REGB2 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB2)); + /* ./parser//parser.nit:53 */ + while(1) { + REGB3 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB2)); + /* ./parser//parser.nit:53 */ + if (UNTAG_Bool(REGB3)) { + REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2)); + REGB4 = TAG_Int(2); + REGB4 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB4)); + REGB3 = TAG_Int(2); + REGB3 = TAG_Int(UNTAG_Int(REGB4)*UNTAG_Int(REGB3)); + fra.me.REG[1] = fra.me.REG[0]; + REGB5 = REGB3; + REGB6 = TAG_Int(0); + REGB6 = TAG_Bool(UNTAG_Int(REGB5)>=UNTAG_Int(REGB6)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB6)) { + REGB6 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); + if (UNTAG_Bool(REGB6)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); } - variable9 = variable10; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);} - variable9 = ATTR_array___Array____items( variable2 /*table*/) /*Array::_items*/; - variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)]; - goto return_label7; - return_label7: while(false); - variable7 = variable9; - variable1 = variable7; - goto return_label2; + REGB6 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]); + REGB6 = TAG_Bool(UNTAG_Int(REGB5)=UNTAG_Int( TAG_Int(0))); - variable7 = variable6; - if (UNTAG_Bool(variable7)) { /* and */ - variable7 = ATTR_array___AbstractArray____length( variable2 /*table*/) /*Array::_length*/; - variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable7 = variable6; - if (UNTAG_Bool(variable7)) { /* and */ - variable7 = variable4; - variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/; - variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable4 = variable3; - if (UNTAG_Bool(variable4)) { /* and */ - variable4 = variable0; - variable4 = ATTR_array___AbstractArray____length(variable4) /*Array::_length*/; - variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable5 = variable4; - if (UNTAG_Bool(variable5)) { /* and */ - variable5 = variable1; - variable5 = ATTR_array___AbstractArray____length(variable5) /*Array::_length*/; - variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable11 = variable10; - if (UNTAG_Bool(variable11)) { /* and */ - variable11 = variable7; - variable11 = ATTR_array___AbstractArray____length(variable11) /*Array::_length*/; - variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable10 = variable9; - if (UNTAG_Bool(variable10)) { /* and */ - variable10 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/; - variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable11 = variable10; - if (UNTAG_Bool(variable11)) { /* and */ - variable11 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/; - variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable15 = variable14; - if (UNTAG_Bool(variable15)) { /* and */ - variable15 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/; - variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable15 = variable14; - if (UNTAG_Bool(variable15)) { /* and */ - variable15 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/; - variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)UNTAG_Int(variable13)); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = TAG_Int(UNTAG_Int( variable11 /*middle*/)+UNTAG_Int( TAG_Int(1))); - variable9 = variable13 /*low=*/; - } else { /*if*/ - variable13 = TAG_Int(UNTAG_Int( variable12 /*subindex*/)+UNTAG_Int( TAG_Int(1))); - variable14 = variable13; - variable15 = TAG_Bool(UNTAG_Int( variable14 /*index*/)>=UNTAG_Int( TAG_Int(0))); - variable16 = variable15; - if (UNTAG_Bool(variable16)) { /* and */ - variable16 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/; - variable16 = TAG_Bool(UNTAG_Int( variable14 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable16 = variable15; - if (UNTAG_Bool(variable16)) { /* and */ - variable16 = ATTR_array___AbstractArray____length( variable6 /*table*/) /*Array::_length*/; - variable16 = TAG_Bool(UNTAG_Int( variable14 /*index*/)val[UNTAG_Int(REGB5)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label2; + label2: while(0); + REGB5 = TAG_Bool(UNTAG_Int(REGB1)=UNTAG_Int(REGB6)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB6)) { + REGB6 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); + if (UNTAG_Bool(REGB6)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); } - variable15 = variable16; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);} - variable15 = ATTR_array___Array____items( variable6 /*table*/) /*Array::_items*/; - variable15 = UNBOX_NativeArray(variable15)[UNTAG_Int( variable14 /*index*/)]; - goto return_label24; - return_label24: while(false); - variable13 = variable15; - variable8 = variable13 /*action_value=*/; - variable13 = TAG_Int(UNTAG_Int( variable9 /*low*/)-UNTAG_Int( TAG_Int(1))); - variable10 = variable13 /*high=*/; + REGB6 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]); + REGB6 = TAG_Bool(UNTAG_Int(REGB5)=UNTAG_Int( TAG_Int(0))); - variable14 = variable13; - if (UNTAG_Bool(variable14)) { /* and */ - variable14 = variable11; - variable14 = ATTR_array___AbstractArray____length(variable14) /*Array::_length*/; - variable14 = TAG_Bool(UNTAG_Int( variable12 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable17 = variable16; - if (UNTAG_Bool(variable17)) { /* and */ - variable17 = variable14; - variable17 = ATTR_array___AbstractArray____length(variable17) /*Array::_length*/; - variable17 = TAG_Bool(UNTAG_Int( variable15 /*index*/)=UNTAG_Int( TAG_Int(0))); - variable17 = variable16; - if (UNTAG_Bool(variable17)) { /* and */ - variable17 = variable13; - variable17 = ATTR_array___AbstractArray____length(variable17) /*Array::_length*/; - variable17 = TAG_Bool(UNTAG_Int( variable15 /*index*/)val[UNTAG_Int(REGB5)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label3; + label3: while(0); + REGB5 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(fra.me.REG[1])); + /* ./parser//parser.nit:59 */ + if (UNTAG_Bool(REGB5)) { + REGB5 = TAG_Int(1); + REGB5 = TAG_Int(UNTAG_Int(REGB4)+UNTAG_Int(REGB5)); + REGB0 = REGB5; + /* ./parser//parser.nit:60 */ + } else { + REGB5 = TAG_Int(1); + REGB5 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB5)); + fra.me.REG[1] = fra.me.REG[0]; + REGB3 = TAG_Int(0); + REGB3 = TAG_Bool(UNTAG_Int(REGB5)>=UNTAG_Int(REGB3)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB3)) { + REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); } - variable16 = variable17; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);} - variable16 = variable13; - variable16 = ATTR_array___Array____items(variable16) /*Array::_items*/; - variable16 = UNBOX_NativeArray(variable16)[UNTAG_Int( variable15 /*index*/)]; - goto return_label27; - return_label27: while(false); - variable13 = variable16; - variable14 = NEW_lexer___PError___init_error(variable12, variable4 /*last_line*/, variable3 /*last_pos*/, variable13); /*new PError*/ - variable12 = variable14; - variable11 = variable12; - variable13 = NEW_parser_prod___Start___init( NIT_NULL /*null*/, variable11 /*node2*/); /*new Start*/ - variable12 = variable13; - variable0 = variable12 /*node*/; - goto return_label15; + REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]); + REGB3 = TAG_Bool(UNTAG_Int(REGB5)val[UNTAG_Int(REGB5)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label4; + label4: while(0); + REGB5 = fra.me.REG[1]; + /* ./parser//parser.nit:62 */ + goto label5; } } - } - continue_16: while(0); - } - break_16: while(0); - variable0 = NIT_NULL /*null*/; - goto return_label15; - return_label15: while(false); - tracehead = trace.prev; - return variable0; -} -void parser___Parser___build_reduce_table(val_t self) { - struct trace_t trace = {NULL, "parser::Parser::build_reduce_table (src/parser//parser.nit:158,2--729:22)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - val_t variable27; - val_t variable28; - val_t variable29; - val_t variable30; - val_t variable31; - val_t variable32; - val_t variable33; - val_t variable34; - val_t variable35; - val_t variable36; - val_t variable37; - val_t variable38; - val_t variable39; - val_t variable40; - val_t variable41; - val_t variable42; - val_t variable43; - val_t variable44; - val_t variable45; - val_t variable46; - val_t variable47; - val_t variable48; - val_t variable49; - val_t variable50; - val_t variable51; - val_t variable52; - val_t variable53; - val_t variable54; - val_t variable55; - val_t variable56; - val_t variable57; - val_t variable58; - val_t variable59; - val_t variable60; - val_t variable61; - val_t variable62; - val_t variable63; - val_t variable64; - val_t variable65; - val_t variable66; - val_t variable67; - val_t variable68; - val_t variable69; - val_t variable70; - val_t variable71; - val_t variable72; - val_t variable73; - val_t variable74; - val_t variable75; - val_t variable76; - val_t variable77; - val_t variable78; - val_t variable79; - val_t variable80; - val_t variable81; - val_t variable82; - val_t variable83; - val_t variable84; - val_t variable85; - val_t variable86; - val_t variable87; - val_t variable88; - val_t variable89; - val_t variable90; - val_t variable91; - val_t variable92; - val_t variable93; - val_t variable94; - val_t variable95; - val_t variable96; - val_t variable97; - val_t variable98; - val_t variable99; - val_t variable100; - val_t variable101; - val_t variable102; - val_t variable103; - val_t variable104; - val_t variable105; - val_t variable106; - val_t variable107; - val_t variable108; - val_t variable109; - val_t variable110; - val_t variable111; - val_t variable112; - val_t variable113; - val_t variable114; - val_t variable115; - val_t variable116; - val_t variable117; - val_t variable118; - val_t variable119; - val_t variable120; - val_t variable121; - val_t variable122; - val_t variable123; - val_t variable124; - val_t variable125; - val_t variable126; - val_t variable127; - val_t variable128; - val_t variable129; - val_t variable130; - val_t variable131; - val_t variable132; - val_t variable133; - val_t variable134; - val_t variable135; - val_t variable136; - val_t variable137; - val_t variable138; - val_t variable139; - val_t variable140; - val_t variable141; - val_t variable142; - val_t variable143; - val_t variable144; - val_t variable145; - val_t variable146; - val_t variable147; - val_t variable148; - val_t variable149; - val_t variable150; - val_t variable151; - val_t variable152; - val_t variable153; - val_t variable154; - val_t variable155; - val_t variable156; - val_t variable157; - val_t variable158; - val_t variable159; - val_t variable160; - val_t variable161; - val_t variable162; - val_t variable163; - val_t variable164; - val_t variable165; - val_t variable166; - val_t variable167; - val_t variable168; - val_t variable169; - val_t variable170; - val_t variable171; - val_t variable172; - val_t variable173; - val_t variable174; - val_t variable175; - val_t variable176; - val_t variable177; - val_t variable178; - val_t variable179; - val_t variable180; - val_t variable181; - val_t variable182; - val_t variable183; - val_t variable184; - val_t variable185; - val_t variable186; - val_t variable187; - val_t variable188; - val_t variable189; - val_t variable190; - val_t variable191; - val_t variable192; - val_t variable193; - val_t variable194; - val_t variable195; - val_t variable196; - val_t variable197; - val_t variable198; - val_t variable199; - val_t variable200; - val_t variable201; - val_t variable202; - val_t variable203; - val_t variable204; - val_t variable205; - val_t variable206; - val_t variable207; - val_t variable208; - val_t variable209; - val_t variable210; - val_t variable211; - val_t variable212; - val_t variable213; - val_t variable214; - val_t variable215; - val_t variable216; - val_t variable217; - val_t variable218; - val_t variable219; - val_t variable220; - val_t variable221; - val_t variable222; - val_t variable223; - val_t variable224; - val_t variable225; - val_t variable226; - val_t variable227; - val_t variable228; - val_t variable229; - val_t variable230; - val_t variable231; - val_t variable232; - val_t variable233; - val_t variable234; - val_t variable235; - val_t variable236; - val_t variable237; - val_t variable238; - val_t variable239; - val_t variable240; - val_t variable241; - val_t variable242; - val_t variable243; - val_t variable244; - val_t variable245; - val_t variable246; - val_t variable247; - val_t variable248; - val_t variable249; - val_t variable250; - val_t variable251; - val_t variable252; - val_t variable253; - val_t variable254; - val_t variable255; - val_t variable256; - val_t variable257; - val_t variable258; - val_t variable259; - val_t variable260; - val_t variable261; - val_t variable262; - val_t variable263; - val_t variable264; - val_t variable265; - val_t variable266; - val_t variable267; - val_t variable268; - val_t variable269; - val_t variable270; - val_t variable271; - val_t variable272; - val_t variable273; - val_t variable274; - val_t variable275; - val_t variable276; - val_t variable277; - val_t variable278; - val_t variable279; - val_t variable280; - val_t variable281; - val_t variable282; - val_t variable283; - val_t variable284; - val_t variable285; - val_t variable286; - val_t variable287; - val_t variable288; - val_t variable289; - val_t variable290; - val_t variable291; - val_t variable292; - val_t variable293; - val_t variable294; - val_t variable295; - val_t variable296; - val_t variable297; - val_t variable298; - val_t variable299; - val_t variable300; - val_t variable301; - val_t variable302; - val_t variable303; - val_t variable304; - val_t variable305; - val_t variable306; - val_t variable307; - val_t variable308; - val_t variable309; - val_t variable310; - val_t variable311; - val_t variable312; - val_t variable313; - val_t variable314; - val_t variable315; - val_t variable316; - val_t variable317; - val_t variable318; - val_t variable319; - val_t variable320; - val_t variable321; - val_t variable322; - val_t variable323; - val_t variable324; - val_t variable325; - val_t variable326; - val_t variable327; - val_t variable328; - val_t variable329; - val_t variable330; - val_t variable331; - val_t variable332; - val_t variable333; - val_t variable334; - val_t variable335; - val_t variable336; - val_t variable337; - val_t variable338; - val_t variable339; - val_t variable340; - val_t variable341; - val_t variable342; - val_t variable343; - val_t variable344; - val_t variable345; - val_t variable346; - val_t variable347; - val_t variable348; - val_t variable349; - val_t variable350; - val_t variable351; - val_t variable352; - val_t variable353; - val_t variable354; - val_t variable355; - val_t variable356; - val_t variable357; - val_t variable358; - val_t variable359; - val_t variable360; - val_t variable361; - val_t variable362; - val_t variable363; - val_t variable364; - val_t variable365; - val_t variable366; - val_t variable367; - val_t variable368; - val_t variable369; - val_t variable370; - val_t variable371; - val_t variable372; - val_t variable373; - val_t variable374; - val_t variable375; - val_t variable376; - val_t variable377; - val_t variable378; - val_t variable379; - val_t variable380; - val_t variable381; - val_t variable382; - val_t variable383; - val_t variable384; - val_t variable385; - val_t variable386; - val_t variable387; - val_t variable388; - val_t variable389; - val_t variable390; - val_t variable391; - val_t variable392; - val_t variable393; - val_t variable394; - val_t variable395; - val_t variable396; - val_t variable397; - val_t variable398; - val_t variable399; - val_t variable400; - val_t variable401; - val_t variable402; - val_t variable403; - val_t variable404; - val_t variable405; - val_t variable406; - val_t variable407; - val_t variable408; - val_t variable409; - val_t variable410; - val_t variable411; - val_t variable412; - val_t variable413; - val_t variable414; - val_t variable415; - val_t variable416; - val_t variable417; - val_t variable418; - val_t variable419; - val_t variable420; - val_t variable421; - val_t variable422; - val_t variable423; - val_t variable424; - val_t variable425; - val_t variable426; - val_t variable427; - val_t variable428; - val_t variable429; - val_t variable430; - val_t variable431; - val_t variable432; - val_t variable433; - val_t variable434; - val_t variable435; - val_t variable436; - val_t variable437; - val_t variable438; - val_t variable439; - val_t variable440; - val_t variable441; - val_t variable442; - val_t variable443; - val_t variable444; - val_t variable445; - val_t variable446; - val_t variable447; - val_t variable448; - val_t variable449; - val_t variable450; - val_t variable451; - val_t variable452; - val_t variable453; - val_t variable454; - val_t variable455; - val_t variable456; - val_t variable457; - val_t variable458; - val_t variable459; - val_t variable460; - val_t variable461; - val_t variable462; - val_t variable463; - val_t variable464; - val_t variable465; - val_t variable466; - val_t variable467; - val_t variable468; - val_t variable469; - val_t variable470; - val_t variable471; - val_t variable472; - val_t variable473; - val_t variable474; - val_t variable475; - val_t variable476; - val_t variable477; - val_t variable478; - val_t variable479; - val_t variable480; - val_t variable481; - val_t variable482; - val_t variable483; - val_t variable484; - val_t variable485; - val_t variable486; - val_t variable487; - val_t variable488; - val_t variable489; - val_t variable490; - val_t variable491; - val_t variable492; - val_t variable493; - val_t variable494; - val_t variable495; - val_t variable496; - val_t variable497; - val_t variable498; - val_t variable499; - val_t variable500; - val_t variable501; - val_t variable502; - val_t variable503; - val_t variable504; - val_t variable505; - val_t variable506; - val_t variable507; - val_t variable508; - val_t variable509; - val_t variable510; - val_t variable511; - val_t variable512; - val_t variable513; - val_t variable514; - val_t variable515; - val_t variable516; - val_t variable517; - val_t variable518; - val_t variable519; - val_t variable520; - val_t variable521; - val_t variable522; - val_t variable523; - val_t variable524; - val_t variable525; - val_t variable526; - val_t variable527; - val_t variable528; - val_t variable529; - val_t variable530; - val_t variable531; - val_t variable532; - val_t variable533; - val_t variable534; - val_t variable535; - val_t variable536; - val_t variable537; - val_t variable538; - val_t variable539; - val_t variable540; - val_t variable541; - val_t variable542; - val_t variable543; - val_t variable544; - val_t variable545; - val_t variable546; - val_t variable547; - val_t variable548; - val_t variable549; - val_t variable550; - val_t variable551; - val_t variable552; - val_t variable553; - val_t variable554; - val_t variable555; - val_t variable556; - val_t variable557; - val_t variable558; - val_t variable559; - val_t variable560; - val_t variable561; - val_t variable562; - val_t variable563; - val_t variable564; - val_t variable565; - val_t variable566; - val_t variable567; - val_t variable568; - val_t variable569; - trace.prev = tracehead; tracehead = &trace; - variable0 = NEW_array___Array___with_capacity(TAG_Int(569)); /*new Array[ReduceAction]*/ - variable1 = NEW_parser___ReduceAction0___init(); /*new ReduceAction0*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable1) /*Array::add*/; - variable2 = NEW_parser___ReduceAction1___init(); /*new ReduceAction1*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable2) /*Array::add*/; - variable3 = NEW_parser___ReduceAction2___init(); /*new ReduceAction2*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable3) /*Array::add*/; - variable4 = NEW_parser___ReduceAction3___init(); /*new ReduceAction3*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable4) /*Array::add*/; - variable5 = NEW_parser___ReduceAction4___init(); /*new ReduceAction4*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable5) /*Array::add*/; - variable6 = NEW_parser___ReduceAction5___init(); /*new ReduceAction5*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable6) /*Array::add*/; - variable7 = NEW_parser___ReduceAction6___init(); /*new ReduceAction6*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable7) /*Array::add*/; - variable8 = NEW_parser___ReduceAction7___init(); /*new ReduceAction7*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable8) /*Array::add*/; - variable9 = NEW_parser___ReduceAction8___init(); /*new ReduceAction8*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable9) /*Array::add*/; - variable10 = NEW_parser___ReduceAction9___init(); /*new ReduceAction9*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable10) /*Array::add*/; - variable11 = NEW_parser___ReduceAction10___init(); /*new ReduceAction10*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable11) /*Array::add*/; - variable12 = NEW_parser___ReduceAction11___init(); /*new ReduceAction11*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable12) /*Array::add*/; - variable13 = NEW_parser___ReduceAction12___init(); /*new ReduceAction12*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable13) /*Array::add*/; - variable14 = NEW_parser___ReduceAction13___init(); /*new ReduceAction13*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable14) /*Array::add*/; - variable15 = NEW_parser___ReduceAction14___init(); /*new ReduceAction14*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable15) /*Array::add*/; - variable16 = NEW_parser___ReduceAction15___init(); /*new ReduceAction15*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable16) /*Array::add*/; - variable17 = NEW_parser___ReduceAction16___init(); /*new ReduceAction16*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable17) /*Array::add*/; - variable18 = NEW_parser___ReduceAction17___init(); /*new ReduceAction17*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable18) /*Array::add*/; - variable19 = NEW_parser___ReduceAction18___init(); /*new ReduceAction18*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable19) /*Array::add*/; - variable20 = NEW_parser___ReduceAction19___init(); /*new ReduceAction19*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable20) /*Array::add*/; - variable21 = NEW_parser___ReduceAction20___init(); /*new ReduceAction20*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable21) /*Array::add*/; - variable22 = NEW_parser___ReduceAction21___init(); /*new ReduceAction21*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable22) /*Array::add*/; - variable23 = NEW_parser___ReduceAction22___init(); /*new ReduceAction22*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable23) /*Array::add*/; - variable24 = NEW_parser___ReduceAction23___init(); /*new ReduceAction23*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable24) /*Array::add*/; - variable25 = NEW_parser___ReduceAction24___init(); /*new ReduceAction24*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable25) /*Array::add*/; - variable26 = NEW_parser___ReduceAction25___init(); /*new ReduceAction25*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable26) /*Array::add*/; - variable27 = NEW_parser___ReduceAction26___init(); /*new ReduceAction26*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable27) /*Array::add*/; - variable28 = NEW_parser___ReduceAction27___init(); /*new ReduceAction27*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable28) /*Array::add*/; - variable29 = NEW_parser___ReduceAction28___init(); /*new ReduceAction28*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable29) /*Array::add*/; - variable30 = NEW_parser___ReduceAction29___init(); /*new ReduceAction29*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable30) /*Array::add*/; - variable31 = NEW_parser___ReduceAction30___init(); /*new ReduceAction30*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable31) /*Array::add*/; - variable32 = NEW_parser___ReduceAction31___init(); /*new ReduceAction31*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable32) /*Array::add*/; - variable33 = NEW_parser___ReduceAction32___init(); /*new ReduceAction32*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable33) /*Array::add*/; - variable34 = NEW_parser___ReduceAction33___init(); /*new ReduceAction33*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable34) /*Array::add*/; - variable35 = NEW_parser___ReduceAction34___init(); /*new ReduceAction34*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable35) /*Array::add*/; - variable36 = NEW_parser___ReduceAction35___init(); /*new ReduceAction35*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable36) /*Array::add*/; - variable37 = NEW_parser___ReduceAction36___init(); /*new ReduceAction36*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable37) /*Array::add*/; - variable38 = NEW_parser___ReduceAction37___init(); /*new ReduceAction37*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable38) /*Array::add*/; - variable39 = NEW_parser___ReduceAction38___init(); /*new ReduceAction38*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable39) /*Array::add*/; - variable40 = NEW_parser___ReduceAction39___init(); /*new ReduceAction39*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable40) /*Array::add*/; - variable41 = NEW_parser___ReduceAction40___init(); /*new ReduceAction40*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable41) /*Array::add*/; - variable42 = NEW_parser___ReduceAction41___init(); /*new ReduceAction41*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable42) /*Array::add*/; - variable43 = NEW_parser___ReduceAction42___init(); /*new ReduceAction42*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable43) /*Array::add*/; - variable44 = NEW_parser___ReduceAction43___init(); /*new ReduceAction43*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable44) /*Array::add*/; - variable45 = NEW_parser___ReduceAction44___init(); /*new ReduceAction44*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable45) /*Array::add*/; - variable46 = NEW_parser___ReduceAction45___init(); /*new ReduceAction45*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable46) /*Array::add*/; - variable47 = NEW_parser___ReduceAction46___init(); /*new ReduceAction46*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable47) /*Array::add*/; - variable48 = NEW_parser___ReduceAction47___init(); /*new ReduceAction47*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable48) /*Array::add*/; - variable49 = NEW_parser___ReduceAction48___init(); /*new ReduceAction48*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable49) /*Array::add*/; - variable50 = NEW_parser___ReduceAction49___init(); /*new ReduceAction49*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable50) /*Array::add*/; - variable51 = NEW_parser___ReduceAction50___init(); /*new ReduceAction50*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable51) /*Array::add*/; - variable52 = NEW_parser___ReduceAction51___init(); /*new ReduceAction51*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable52) /*Array::add*/; - variable53 = NEW_parser___ReduceAction52___init(); /*new ReduceAction52*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable53) /*Array::add*/; - variable54 = NEW_parser___ReduceAction53___init(); /*new ReduceAction53*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable54) /*Array::add*/; - variable55 = NEW_parser___ReduceAction54___init(); /*new ReduceAction54*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable55) /*Array::add*/; - variable56 = NEW_parser___ReduceAction55___init(); /*new ReduceAction55*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable56) /*Array::add*/; - variable57 = NEW_parser___ReduceAction56___init(); /*new ReduceAction56*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable57) /*Array::add*/; - variable58 = NEW_parser___ReduceAction57___init(); /*new ReduceAction57*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable58) /*Array::add*/; - variable59 = NEW_parser___ReduceAction58___init(); /*new ReduceAction58*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable59) /*Array::add*/; - variable60 = NEW_parser___ReduceAction59___init(); /*new ReduceAction59*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable60) /*Array::add*/; - variable61 = NEW_parser___ReduceAction60___init(); /*new ReduceAction60*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable61) /*Array::add*/; - variable62 = NEW_parser___ReduceAction61___init(); /*new ReduceAction61*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable62) /*Array::add*/; - variable63 = NEW_parser___ReduceAction62___init(); /*new ReduceAction62*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable63) /*Array::add*/; - variable64 = NEW_parser___ReduceAction63___init(); /*new ReduceAction63*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable64) /*Array::add*/; - variable65 = NEW_parser___ReduceAction64___init(); /*new ReduceAction64*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable65) /*Array::add*/; - variable66 = NEW_parser___ReduceAction65___init(); /*new ReduceAction65*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable66) /*Array::add*/; - variable67 = NEW_parser___ReduceAction66___init(); /*new ReduceAction66*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable67) /*Array::add*/; - variable68 = NEW_parser___ReduceAction67___init(); /*new ReduceAction67*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable68) /*Array::add*/; - variable69 = NEW_parser___ReduceAction68___init(); /*new ReduceAction68*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable69) /*Array::add*/; - variable70 = NEW_parser___ReduceAction69___init(); /*new ReduceAction69*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable70) /*Array::add*/; - variable71 = NEW_parser___ReduceAction70___init(); /*new ReduceAction70*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable71) /*Array::add*/; - variable72 = NEW_parser___ReduceAction71___init(); /*new ReduceAction71*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable72) /*Array::add*/; - variable73 = NEW_parser___ReduceAction72___init(); /*new ReduceAction72*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable73) /*Array::add*/; - variable74 = NEW_parser___ReduceAction73___init(); /*new ReduceAction73*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable74) /*Array::add*/; - variable75 = NEW_parser___ReduceAction74___init(); /*new ReduceAction74*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable75) /*Array::add*/; - variable76 = NEW_parser___ReduceAction75___init(); /*new ReduceAction75*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable76) /*Array::add*/; - variable77 = NEW_parser___ReduceAction76___init(); /*new ReduceAction76*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable77) /*Array::add*/; - variable78 = NEW_parser___ReduceAction77___init(); /*new ReduceAction77*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable78) /*Array::add*/; - variable79 = NEW_parser___ReduceAction78___init(); /*new ReduceAction78*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable79) /*Array::add*/; - variable80 = NEW_parser___ReduceAction79___init(); /*new ReduceAction79*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable80) /*Array::add*/; - variable81 = NEW_parser___ReduceAction80___init(); /*new ReduceAction80*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable81) /*Array::add*/; - variable82 = NEW_parser___ReduceAction81___init(); /*new ReduceAction81*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable82) /*Array::add*/; - variable83 = NEW_parser___ReduceAction82___init(); /*new ReduceAction82*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable83) /*Array::add*/; - variable84 = NEW_parser___ReduceAction83___init(); /*new ReduceAction83*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable84) /*Array::add*/; - variable85 = NEW_parser___ReduceAction84___init(); /*new ReduceAction84*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable85) /*Array::add*/; - variable86 = NEW_parser___ReduceAction85___init(); /*new ReduceAction85*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable86) /*Array::add*/; - variable87 = NEW_parser___ReduceAction86___init(); /*new ReduceAction86*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable87) /*Array::add*/; - variable88 = NEW_parser___ReduceAction87___init(); /*new ReduceAction87*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable88) /*Array::add*/; - variable89 = NEW_parser___ReduceAction88___init(); /*new ReduceAction88*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable89) /*Array::add*/; - variable90 = NEW_parser___ReduceAction89___init(); /*new ReduceAction89*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable90) /*Array::add*/; - variable91 = NEW_parser___ReduceAction90___init(); /*new ReduceAction90*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable91) /*Array::add*/; - variable92 = NEW_parser___ReduceAction91___init(); /*new ReduceAction91*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable92) /*Array::add*/; - variable93 = NEW_parser___ReduceAction92___init(); /*new ReduceAction92*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable93) /*Array::add*/; - variable94 = NEW_parser___ReduceAction93___init(); /*new ReduceAction93*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable94) /*Array::add*/; - variable95 = NEW_parser___ReduceAction94___init(); /*new ReduceAction94*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable95) /*Array::add*/; - variable96 = NEW_parser___ReduceAction95___init(); /*new ReduceAction95*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable96) /*Array::add*/; - variable97 = NEW_parser___ReduceAction96___init(); /*new ReduceAction96*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable97) /*Array::add*/; - variable98 = NEW_parser___ReduceAction97___init(); /*new ReduceAction97*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable98) /*Array::add*/; - variable99 = NEW_parser___ReduceAction98___init(); /*new ReduceAction98*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable99) /*Array::add*/; - variable100 = NEW_parser___ReduceAction99___init(); /*new ReduceAction99*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable100) /*Array::add*/; - variable101 = NEW_parser___ReduceAction100___init(); /*new ReduceAction100*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable101) /*Array::add*/; - variable102 = NEW_parser___ReduceAction101___init(); /*new ReduceAction101*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable102) /*Array::add*/; - variable103 = NEW_parser___ReduceAction102___init(); /*new ReduceAction102*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable103) /*Array::add*/; - variable104 = NEW_parser___ReduceAction103___init(); /*new ReduceAction103*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable104) /*Array::add*/; - variable105 = NEW_parser___ReduceAction104___init(); /*new ReduceAction104*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable105) /*Array::add*/; - variable106 = NEW_parser___ReduceAction105___init(); /*new ReduceAction105*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable106) /*Array::add*/; - variable107 = NEW_parser___ReduceAction106___init(); /*new ReduceAction106*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable107) /*Array::add*/; - variable108 = NEW_parser___ReduceAction107___init(); /*new ReduceAction107*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable108) /*Array::add*/; - variable109 = NEW_parser___ReduceAction108___init(); /*new ReduceAction108*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable109) /*Array::add*/; - variable110 = NEW_parser___ReduceAction109___init(); /*new ReduceAction109*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable110) /*Array::add*/; - variable111 = NEW_parser___ReduceAction110___init(); /*new ReduceAction110*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable111) /*Array::add*/; - variable112 = NEW_parser___ReduceAction111___init(); /*new ReduceAction111*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable112) /*Array::add*/; - variable113 = NEW_parser___ReduceAction112___init(); /*new ReduceAction112*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable113) /*Array::add*/; - variable114 = NEW_parser___ReduceAction113___init(); /*new ReduceAction113*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable114) /*Array::add*/; - variable115 = NEW_parser___ReduceAction114___init(); /*new ReduceAction114*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable115) /*Array::add*/; - variable116 = NEW_parser___ReduceAction115___init(); /*new ReduceAction115*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable116) /*Array::add*/; - variable117 = NEW_parser___ReduceAction116___init(); /*new ReduceAction116*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable117) /*Array::add*/; - variable118 = NEW_parser___ReduceAction117___init(); /*new ReduceAction117*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable118) /*Array::add*/; - variable119 = NEW_parser___ReduceAction118___init(); /*new ReduceAction118*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable119) /*Array::add*/; - variable120 = NEW_parser___ReduceAction119___init(); /*new ReduceAction119*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable120) /*Array::add*/; - variable121 = NEW_parser___ReduceAction120___init(); /*new ReduceAction120*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable121) /*Array::add*/; - variable122 = NEW_parser___ReduceAction121___init(); /*new ReduceAction121*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable122) /*Array::add*/; - variable123 = NEW_parser___ReduceAction122___init(); /*new ReduceAction122*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable123) /*Array::add*/; - variable124 = NEW_parser___ReduceAction123___init(); /*new ReduceAction123*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable124) /*Array::add*/; - variable125 = NEW_parser___ReduceAction124___init(); /*new ReduceAction124*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable125) /*Array::add*/; - variable126 = NEW_parser___ReduceAction125___init(); /*new ReduceAction125*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable126) /*Array::add*/; - variable127 = NEW_parser___ReduceAction126___init(); /*new ReduceAction126*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable127) /*Array::add*/; - variable128 = NEW_parser___ReduceAction127___init(); /*new ReduceAction127*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable128) /*Array::add*/; - variable129 = NEW_parser___ReduceAction128___init(); /*new ReduceAction128*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable129) /*Array::add*/; - variable130 = NEW_parser___ReduceAction129___init(); /*new ReduceAction129*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable130) /*Array::add*/; - variable131 = NEW_parser___ReduceAction130___init(); /*new ReduceAction130*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable131) /*Array::add*/; - variable132 = NEW_parser___ReduceAction131___init(); /*new ReduceAction131*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable132) /*Array::add*/; - variable133 = NEW_parser___ReduceAction132___init(); /*new ReduceAction132*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable133) /*Array::add*/; - variable134 = NEW_parser___ReduceAction133___init(); /*new ReduceAction133*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable134) /*Array::add*/; - variable135 = NEW_parser___ReduceAction134___init(); /*new ReduceAction134*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable135) /*Array::add*/; - variable136 = NEW_parser___ReduceAction135___init(); /*new ReduceAction135*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable136) /*Array::add*/; - variable137 = NEW_parser___ReduceAction136___init(); /*new ReduceAction136*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable137) /*Array::add*/; - variable138 = NEW_parser___ReduceAction137___init(); /*new ReduceAction137*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable138) /*Array::add*/; - variable139 = NEW_parser___ReduceAction138___init(); /*new ReduceAction138*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable139) /*Array::add*/; - variable140 = NEW_parser___ReduceAction139___init(); /*new ReduceAction139*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable140) /*Array::add*/; - variable141 = NEW_parser___ReduceAction140___init(); /*new ReduceAction140*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable141) /*Array::add*/; - variable142 = NEW_parser___ReduceAction141___init(); /*new ReduceAction141*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable142) /*Array::add*/; - variable143 = NEW_parser___ReduceAction142___init(); /*new ReduceAction142*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable143) /*Array::add*/; - variable144 = NEW_parser___ReduceAction143___init(); /*new ReduceAction143*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable144) /*Array::add*/; - variable145 = NEW_parser___ReduceAction144___init(); /*new ReduceAction144*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable145) /*Array::add*/; - variable146 = NEW_parser___ReduceAction145___init(); /*new ReduceAction145*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable146) /*Array::add*/; - variable147 = NEW_parser___ReduceAction146___init(); /*new ReduceAction146*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable147) /*Array::add*/; - variable148 = NEW_parser___ReduceAction147___init(); /*new ReduceAction147*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable148) /*Array::add*/; - variable149 = NEW_parser___ReduceAction148___init(); /*new ReduceAction148*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable149) /*Array::add*/; - variable150 = NEW_parser___ReduceAction149___init(); /*new ReduceAction149*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable150) /*Array::add*/; - variable151 = NEW_parser___ReduceAction150___init(); /*new ReduceAction150*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable151) /*Array::add*/; - variable152 = NEW_parser___ReduceAction151___init(); /*new ReduceAction151*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable152) /*Array::add*/; - variable153 = NEW_parser___ReduceAction152___init(); /*new ReduceAction152*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable153) /*Array::add*/; - variable154 = NEW_parser___ReduceAction153___init(); /*new ReduceAction153*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable154) /*Array::add*/; - variable155 = NEW_parser___ReduceAction154___init(); /*new ReduceAction154*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable155) /*Array::add*/; - variable156 = NEW_parser___ReduceAction155___init(); /*new ReduceAction155*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable156) /*Array::add*/; - variable157 = NEW_parser___ReduceAction156___init(); /*new ReduceAction156*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable157) /*Array::add*/; - variable158 = NEW_parser___ReduceAction157___init(); /*new ReduceAction157*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable158) /*Array::add*/; - variable159 = NEW_parser___ReduceAction158___init(); /*new ReduceAction158*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable159) /*Array::add*/; - variable160 = NEW_parser___ReduceAction159___init(); /*new ReduceAction159*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable160) /*Array::add*/; - variable161 = NEW_parser___ReduceAction160___init(); /*new ReduceAction160*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable161) /*Array::add*/; - variable162 = NEW_parser___ReduceAction161___init(); /*new ReduceAction161*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable162) /*Array::add*/; - variable163 = NEW_parser___ReduceAction162___init(); /*new ReduceAction162*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable163) /*Array::add*/; - variable164 = NEW_parser___ReduceAction163___init(); /*new ReduceAction163*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable164) /*Array::add*/; - variable165 = NEW_parser___ReduceAction164___init(); /*new ReduceAction164*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable165) /*Array::add*/; - variable166 = NEW_parser___ReduceAction165___init(); /*new ReduceAction165*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable166) /*Array::add*/; - variable167 = NEW_parser___ReduceAction166___init(); /*new ReduceAction166*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable167) /*Array::add*/; - variable168 = NEW_parser___ReduceAction167___init(); /*new ReduceAction167*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable168) /*Array::add*/; - variable169 = NEW_parser___ReduceAction168___init(); /*new ReduceAction168*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable169) /*Array::add*/; - variable170 = NEW_parser___ReduceAction169___init(); /*new ReduceAction169*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable170) /*Array::add*/; - variable171 = NEW_parser___ReduceAction170___init(); /*new ReduceAction170*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable171) /*Array::add*/; - variable172 = NEW_parser___ReduceAction171___init(); /*new ReduceAction171*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable172) /*Array::add*/; - variable173 = NEW_parser___ReduceAction172___init(); /*new ReduceAction172*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable173) /*Array::add*/; - variable174 = NEW_parser___ReduceAction173___init(); /*new ReduceAction173*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable174) /*Array::add*/; - variable175 = NEW_parser___ReduceAction174___init(); /*new ReduceAction174*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable175) /*Array::add*/; - variable176 = NEW_parser___ReduceAction175___init(); /*new ReduceAction175*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable176) /*Array::add*/; - variable177 = NEW_parser___ReduceAction176___init(); /*new ReduceAction176*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable177) /*Array::add*/; - variable178 = NEW_parser___ReduceAction177___init(); /*new ReduceAction177*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable178) /*Array::add*/; - variable179 = NEW_parser___ReduceAction178___init(); /*new ReduceAction178*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable179) /*Array::add*/; - variable180 = NEW_parser___ReduceAction179___init(); /*new ReduceAction179*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable180) /*Array::add*/; - variable181 = NEW_parser___ReduceAction180___init(); /*new ReduceAction180*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable181) /*Array::add*/; - variable182 = NEW_parser___ReduceAction181___init(); /*new ReduceAction181*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable182) /*Array::add*/; - variable183 = NEW_parser___ReduceAction182___init(); /*new ReduceAction182*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable183) /*Array::add*/; - variable184 = NEW_parser___ReduceAction183___init(); /*new ReduceAction183*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable184) /*Array::add*/; - variable185 = NEW_parser___ReduceAction184___init(); /*new ReduceAction184*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable185) /*Array::add*/; - variable186 = NEW_parser___ReduceAction185___init(); /*new ReduceAction185*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable186) /*Array::add*/; - variable187 = NEW_parser___ReduceAction186___init(); /*new ReduceAction186*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable187) /*Array::add*/; - variable188 = NEW_parser___ReduceAction187___init(); /*new ReduceAction187*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable188) /*Array::add*/; - variable189 = NEW_parser___ReduceAction188___init(); /*new ReduceAction188*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable189) /*Array::add*/; - variable190 = NEW_parser___ReduceAction189___init(); /*new ReduceAction189*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable190) /*Array::add*/; - variable191 = NEW_parser___ReduceAction190___init(); /*new ReduceAction190*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable191) /*Array::add*/; - variable192 = NEW_parser___ReduceAction191___init(); /*new ReduceAction191*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable192) /*Array::add*/; - variable193 = NEW_parser___ReduceAction192___init(); /*new ReduceAction192*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable193) /*Array::add*/; - variable194 = NEW_parser___ReduceAction193___init(); /*new ReduceAction193*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable194) /*Array::add*/; - variable195 = NEW_parser___ReduceAction194___init(); /*new ReduceAction194*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable195) /*Array::add*/; - variable196 = NEW_parser___ReduceAction195___init(); /*new ReduceAction195*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable196) /*Array::add*/; - variable197 = NEW_parser___ReduceAction196___init(); /*new ReduceAction196*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable197) /*Array::add*/; - variable198 = NEW_parser___ReduceAction197___init(); /*new ReduceAction197*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable198) /*Array::add*/; - variable199 = NEW_parser___ReduceAction198___init(); /*new ReduceAction198*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable199) /*Array::add*/; - variable200 = NEW_parser___ReduceAction199___init(); /*new ReduceAction199*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable200) /*Array::add*/; - variable201 = NEW_parser___ReduceAction200___init(); /*new ReduceAction200*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable201) /*Array::add*/; - variable202 = NEW_parser___ReduceAction201___init(); /*new ReduceAction201*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable202) /*Array::add*/; - variable203 = NEW_parser___ReduceAction202___init(); /*new ReduceAction202*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable203) /*Array::add*/; - variable204 = NEW_parser___ReduceAction203___init(); /*new ReduceAction203*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable204) /*Array::add*/; - variable205 = NEW_parser___ReduceAction204___init(); /*new ReduceAction204*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable205) /*Array::add*/; - variable206 = NEW_parser___ReduceAction205___init(); /*new ReduceAction205*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable206) /*Array::add*/; - variable207 = NEW_parser___ReduceAction206___init(); /*new ReduceAction206*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable207) /*Array::add*/; - variable208 = NEW_parser___ReduceAction207___init(); /*new ReduceAction207*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable208) /*Array::add*/; - variable209 = NEW_parser___ReduceAction208___init(); /*new ReduceAction208*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable209) /*Array::add*/; - variable210 = NEW_parser___ReduceAction209___init(); /*new ReduceAction209*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable210) /*Array::add*/; - variable211 = NEW_parser___ReduceAction210___init(); /*new ReduceAction210*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable211) /*Array::add*/; - variable212 = NEW_parser___ReduceAction211___init(); /*new ReduceAction211*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable212) /*Array::add*/; - variable213 = NEW_parser___ReduceAction212___init(); /*new ReduceAction212*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable213) /*Array::add*/; - variable214 = NEW_parser___ReduceAction213___init(); /*new ReduceAction213*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable214) /*Array::add*/; - variable215 = NEW_parser___ReduceAction214___init(); /*new ReduceAction214*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable215) /*Array::add*/; - variable216 = NEW_parser___ReduceAction215___init(); /*new ReduceAction215*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable216) /*Array::add*/; - variable217 = NEW_parser___ReduceAction216___init(); /*new ReduceAction216*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable217) /*Array::add*/; - variable218 = NEW_parser___ReduceAction217___init(); /*new ReduceAction217*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable218) /*Array::add*/; - variable219 = NEW_parser___ReduceAction218___init(); /*new ReduceAction218*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable219) /*Array::add*/; - variable220 = NEW_parser___ReduceAction219___init(); /*new ReduceAction219*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable220) /*Array::add*/; - variable221 = NEW_parser___ReduceAction220___init(); /*new ReduceAction220*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable221) /*Array::add*/; - variable222 = NEW_parser___ReduceAction221___init(); /*new ReduceAction221*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable222) /*Array::add*/; - variable223 = NEW_parser___ReduceAction222___init(); /*new ReduceAction222*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable223) /*Array::add*/; - variable224 = NEW_parser___ReduceAction223___init(); /*new ReduceAction223*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable224) /*Array::add*/; - variable225 = NEW_parser___ReduceAction224___init(); /*new ReduceAction224*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable225) /*Array::add*/; - variable226 = NEW_parser___ReduceAction225___init(); /*new ReduceAction225*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable226) /*Array::add*/; - variable227 = NEW_parser___ReduceAction226___init(); /*new ReduceAction226*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable227) /*Array::add*/; - variable228 = NEW_parser___ReduceAction227___init(); /*new ReduceAction227*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable228) /*Array::add*/; - variable229 = NEW_parser___ReduceAction228___init(); /*new ReduceAction228*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable229) /*Array::add*/; - variable230 = NEW_parser___ReduceAction229___init(); /*new ReduceAction229*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable230) /*Array::add*/; - variable231 = NEW_parser___ReduceAction230___init(); /*new ReduceAction230*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable231) /*Array::add*/; - variable232 = NEW_parser___ReduceAction231___init(); /*new ReduceAction231*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable232) /*Array::add*/; - variable233 = NEW_parser___ReduceAction232___init(); /*new ReduceAction232*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable233) /*Array::add*/; - variable234 = NEW_parser___ReduceAction233___init(); /*new ReduceAction233*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable234) /*Array::add*/; - variable235 = NEW_parser___ReduceAction234___init(); /*new ReduceAction234*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable235) /*Array::add*/; - variable236 = NEW_parser___ReduceAction235___init(); /*new ReduceAction235*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable236) /*Array::add*/; - variable237 = NEW_parser___ReduceAction236___init(); /*new ReduceAction236*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable237) /*Array::add*/; - variable238 = NEW_parser___ReduceAction237___init(); /*new ReduceAction237*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable238) /*Array::add*/; - variable239 = NEW_parser___ReduceAction238___init(); /*new ReduceAction238*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable239) /*Array::add*/; - variable240 = NEW_parser___ReduceAction239___init(); /*new ReduceAction239*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable240) /*Array::add*/; - variable241 = NEW_parser___ReduceAction240___init(); /*new ReduceAction240*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable241) /*Array::add*/; - variable242 = NEW_parser___ReduceAction241___init(); /*new ReduceAction241*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable242) /*Array::add*/; - variable243 = NEW_parser___ReduceAction242___init(); /*new ReduceAction242*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable243) /*Array::add*/; - variable244 = NEW_parser___ReduceAction243___init(); /*new ReduceAction243*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable244) /*Array::add*/; - variable245 = NEW_parser___ReduceAction244___init(); /*new ReduceAction244*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable245) /*Array::add*/; - variable246 = NEW_parser___ReduceAction245___init(); /*new ReduceAction245*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable246) /*Array::add*/; - variable247 = NEW_parser___ReduceAction246___init(); /*new ReduceAction246*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable247) /*Array::add*/; - variable248 = NEW_parser___ReduceAction247___init(); /*new ReduceAction247*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable248) /*Array::add*/; - variable249 = NEW_parser___ReduceAction248___init(); /*new ReduceAction248*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable249) /*Array::add*/; - variable250 = NEW_parser___ReduceAction249___init(); /*new ReduceAction249*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable250) /*Array::add*/; - variable251 = NEW_parser___ReduceAction250___init(); /*new ReduceAction250*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable251) /*Array::add*/; - variable252 = NEW_parser___ReduceAction251___init(); /*new ReduceAction251*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable252) /*Array::add*/; - variable253 = NEW_parser___ReduceAction252___init(); /*new ReduceAction252*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable253) /*Array::add*/; - variable254 = NEW_parser___ReduceAction253___init(); /*new ReduceAction253*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable254) /*Array::add*/; - variable255 = NEW_parser___ReduceAction254___init(); /*new ReduceAction254*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable255) /*Array::add*/; - variable256 = NEW_parser___ReduceAction255___init(); /*new ReduceAction255*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable256) /*Array::add*/; - variable257 = NEW_parser___ReduceAction256___init(); /*new ReduceAction256*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable257) /*Array::add*/; - variable258 = NEW_parser___ReduceAction257___init(); /*new ReduceAction257*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable258) /*Array::add*/; - variable259 = NEW_parser___ReduceAction258___init(); /*new ReduceAction258*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable259) /*Array::add*/; - variable260 = NEW_parser___ReduceAction259___init(); /*new ReduceAction259*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable260) /*Array::add*/; - variable261 = NEW_parser___ReduceAction260___init(); /*new ReduceAction260*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable261) /*Array::add*/; - variable262 = NEW_parser___ReduceAction261___init(); /*new ReduceAction261*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable262) /*Array::add*/; - variable263 = NEW_parser___ReduceAction262___init(); /*new ReduceAction262*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable263) /*Array::add*/; - variable264 = NEW_parser___ReduceAction263___init(); /*new ReduceAction263*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable264) /*Array::add*/; - variable265 = NEW_parser___ReduceAction264___init(); /*new ReduceAction264*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable265) /*Array::add*/; - variable266 = NEW_parser___ReduceAction265___init(); /*new ReduceAction265*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable266) /*Array::add*/; - variable267 = NEW_parser___ReduceAction266___init(); /*new ReduceAction266*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable267) /*Array::add*/; - variable268 = NEW_parser___ReduceAction267___init(); /*new ReduceAction267*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable268) /*Array::add*/; - variable269 = NEW_parser___ReduceAction268___init(); /*new ReduceAction268*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable269) /*Array::add*/; - variable270 = NEW_parser___ReduceAction269___init(); /*new ReduceAction269*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable270) /*Array::add*/; - variable271 = NEW_parser___ReduceAction270___init(); /*new ReduceAction270*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable271) /*Array::add*/; - variable272 = NEW_parser___ReduceAction271___init(); /*new ReduceAction271*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable272) /*Array::add*/; - variable273 = NEW_parser___ReduceAction272___init(); /*new ReduceAction272*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable273) /*Array::add*/; - variable274 = NEW_parser___ReduceAction273___init(); /*new ReduceAction273*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable274) /*Array::add*/; - variable275 = NEW_parser___ReduceAction274___init(); /*new ReduceAction274*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable275) /*Array::add*/; - variable276 = NEW_parser___ReduceAction275___init(); /*new ReduceAction275*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable276) /*Array::add*/; - variable277 = NEW_parser___ReduceAction276___init(); /*new ReduceAction276*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable277) /*Array::add*/; - variable278 = NEW_parser___ReduceAction277___init(); /*new ReduceAction277*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable278) /*Array::add*/; - variable279 = NEW_parser___ReduceAction278___init(); /*new ReduceAction278*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable279) /*Array::add*/; - variable280 = NEW_parser___ReduceAction279___init(); /*new ReduceAction279*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable280) /*Array::add*/; - variable281 = NEW_parser___ReduceAction280___init(); /*new ReduceAction280*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable281) /*Array::add*/; - variable282 = NEW_parser___ReduceAction281___init(); /*new ReduceAction281*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable282) /*Array::add*/; - variable283 = NEW_parser___ReduceAction282___init(); /*new ReduceAction282*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable283) /*Array::add*/; - variable284 = NEW_parser___ReduceAction283___init(); /*new ReduceAction283*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable284) /*Array::add*/; - variable285 = NEW_parser___ReduceAction284___init(); /*new ReduceAction284*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable285) /*Array::add*/; - variable286 = NEW_parser___ReduceAction285___init(); /*new ReduceAction285*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable286) /*Array::add*/; - variable287 = NEW_parser___ReduceAction286___init(); /*new ReduceAction286*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable287) /*Array::add*/; - variable288 = NEW_parser___ReduceAction287___init(); /*new ReduceAction287*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable288) /*Array::add*/; - variable289 = NEW_parser___ReduceAction288___init(); /*new ReduceAction288*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable289) /*Array::add*/; - variable290 = NEW_parser___ReduceAction289___init(); /*new ReduceAction289*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable290) /*Array::add*/; - variable291 = NEW_parser___ReduceAction290___init(); /*new ReduceAction290*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable291) /*Array::add*/; - variable292 = NEW_parser___ReduceAction291___init(); /*new ReduceAction291*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable292) /*Array::add*/; - variable293 = NEW_parser___ReduceAction292___init(); /*new ReduceAction292*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable293) /*Array::add*/; - variable294 = NEW_parser___ReduceAction293___init(); /*new ReduceAction293*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable294) /*Array::add*/; - variable295 = NEW_parser___ReduceAction294___init(); /*new ReduceAction294*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable295) /*Array::add*/; - variable296 = NEW_parser___ReduceAction295___init(); /*new ReduceAction295*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable296) /*Array::add*/; - variable297 = NEW_parser___ReduceAction296___init(); /*new ReduceAction296*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable297) /*Array::add*/; - variable298 = NEW_parser___ReduceAction297___init(); /*new ReduceAction297*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable298) /*Array::add*/; - variable299 = NEW_parser___ReduceAction298___init(); /*new ReduceAction298*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable299) /*Array::add*/; - variable300 = NEW_parser___ReduceAction299___init(); /*new ReduceAction299*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable300) /*Array::add*/; - variable301 = NEW_parser___ReduceAction300___init(); /*new ReduceAction300*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable301) /*Array::add*/; - variable302 = NEW_parser___ReduceAction301___init(); /*new ReduceAction301*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable302) /*Array::add*/; - variable303 = NEW_parser___ReduceAction302___init(); /*new ReduceAction302*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable303) /*Array::add*/; - variable304 = NEW_parser___ReduceAction303___init(); /*new ReduceAction303*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable304) /*Array::add*/; - variable305 = NEW_parser___ReduceAction304___init(); /*new ReduceAction304*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable305) /*Array::add*/; - variable306 = NEW_parser___ReduceAction305___init(); /*new ReduceAction305*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable306) /*Array::add*/; - variable307 = NEW_parser___ReduceAction306___init(); /*new ReduceAction306*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable307) /*Array::add*/; - variable308 = NEW_parser___ReduceAction307___init(); /*new ReduceAction307*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable308) /*Array::add*/; - variable309 = NEW_parser___ReduceAction308___init(); /*new ReduceAction308*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable309) /*Array::add*/; - variable310 = NEW_parser___ReduceAction309___init(); /*new ReduceAction309*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable310) /*Array::add*/; - variable311 = NEW_parser___ReduceAction310___init(); /*new ReduceAction310*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable311) /*Array::add*/; - variable312 = NEW_parser___ReduceAction311___init(); /*new ReduceAction311*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable312) /*Array::add*/; - variable313 = NEW_parser___ReduceAction312___init(); /*new ReduceAction312*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable313) /*Array::add*/; - variable314 = NEW_parser___ReduceAction313___init(); /*new ReduceAction313*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable314) /*Array::add*/; - variable315 = NEW_parser___ReduceAction314___init(); /*new ReduceAction314*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable315) /*Array::add*/; - variable316 = NEW_parser___ReduceAction315___init(); /*new ReduceAction315*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable316) /*Array::add*/; - variable317 = NEW_parser___ReduceAction316___init(); /*new ReduceAction316*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable317) /*Array::add*/; - variable318 = NEW_parser___ReduceAction317___init(); /*new ReduceAction317*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable318) /*Array::add*/; - variable319 = NEW_parser___ReduceAction318___init(); /*new ReduceAction318*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable319) /*Array::add*/; - variable320 = NEW_parser___ReduceAction319___init(); /*new ReduceAction319*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable320) /*Array::add*/; - variable321 = NEW_parser___ReduceAction320___init(); /*new ReduceAction320*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable321) /*Array::add*/; - variable322 = NEW_parser___ReduceAction321___init(); /*new ReduceAction321*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable322) /*Array::add*/; - variable323 = NEW_parser___ReduceAction322___init(); /*new ReduceAction322*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable323) /*Array::add*/; - variable324 = NEW_parser___ReduceAction323___init(); /*new ReduceAction323*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable324) /*Array::add*/; - variable325 = NEW_parser___ReduceAction324___init(); /*new ReduceAction324*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable325) /*Array::add*/; - variable326 = NEW_parser___ReduceAction325___init(); /*new ReduceAction325*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable326) /*Array::add*/; - variable327 = NEW_parser___ReduceAction326___init(); /*new ReduceAction326*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable327) /*Array::add*/; - variable328 = NEW_parser___ReduceAction327___init(); /*new ReduceAction327*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable328) /*Array::add*/; - variable329 = NEW_parser___ReduceAction328___init(); /*new ReduceAction328*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable329) /*Array::add*/; - variable330 = NEW_parser___ReduceAction329___init(); /*new ReduceAction329*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable330) /*Array::add*/; - variable331 = NEW_parser___ReduceAction330___init(); /*new ReduceAction330*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable331) /*Array::add*/; - variable332 = NEW_parser___ReduceAction331___init(); /*new ReduceAction331*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable332) /*Array::add*/; - variable333 = NEW_parser___ReduceAction332___init(); /*new ReduceAction332*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable333) /*Array::add*/; - variable334 = NEW_parser___ReduceAction333___init(); /*new ReduceAction333*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable334) /*Array::add*/; - variable335 = NEW_parser___ReduceAction334___init(); /*new ReduceAction334*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable335) /*Array::add*/; - variable336 = NEW_parser___ReduceAction335___init(); /*new ReduceAction335*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable336) /*Array::add*/; - variable337 = NEW_parser___ReduceAction336___init(); /*new ReduceAction336*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable337) /*Array::add*/; - variable338 = NEW_parser___ReduceAction337___init(); /*new ReduceAction337*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable338) /*Array::add*/; - variable339 = NEW_parser___ReduceAction338___init(); /*new ReduceAction338*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable339) /*Array::add*/; - variable340 = NEW_parser___ReduceAction339___init(); /*new ReduceAction339*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable340) /*Array::add*/; - variable341 = NEW_parser___ReduceAction340___init(); /*new ReduceAction340*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable341) /*Array::add*/; - variable342 = NEW_parser___ReduceAction341___init(); /*new ReduceAction341*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable342) /*Array::add*/; - variable343 = NEW_parser___ReduceAction342___init(); /*new ReduceAction342*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable343) /*Array::add*/; - variable344 = NEW_parser___ReduceAction343___init(); /*new ReduceAction343*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable344) /*Array::add*/; - variable345 = NEW_parser___ReduceAction344___init(); /*new ReduceAction344*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable345) /*Array::add*/; - variable346 = NEW_parser___ReduceAction345___init(); /*new ReduceAction345*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable346) /*Array::add*/; - variable347 = NEW_parser___ReduceAction346___init(); /*new ReduceAction346*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable347) /*Array::add*/; - variable348 = NEW_parser___ReduceAction347___init(); /*new ReduceAction347*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable348) /*Array::add*/; - variable349 = NEW_parser___ReduceAction348___init(); /*new ReduceAction348*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable349) /*Array::add*/; - variable350 = NEW_parser___ReduceAction349___init(); /*new ReduceAction349*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable350) /*Array::add*/; - variable351 = NEW_parser___ReduceAction350___init(); /*new ReduceAction350*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable351) /*Array::add*/; - variable352 = NEW_parser___ReduceAction351___init(); /*new ReduceAction351*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable352) /*Array::add*/; - variable353 = NEW_parser___ReduceAction352___init(); /*new ReduceAction352*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable353) /*Array::add*/; - variable354 = NEW_parser___ReduceAction353___init(); /*new ReduceAction353*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable354) /*Array::add*/; - variable355 = NEW_parser___ReduceAction354___init(); /*new ReduceAction354*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable355) /*Array::add*/; - variable356 = NEW_parser___ReduceAction355___init(); /*new ReduceAction355*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable356) /*Array::add*/; - variable357 = NEW_parser___ReduceAction356___init(); /*new ReduceAction356*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable357) /*Array::add*/; - variable358 = NEW_parser___ReduceAction357___init(); /*new ReduceAction357*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable358) /*Array::add*/; - variable359 = NEW_parser___ReduceAction358___init(); /*new ReduceAction358*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable359) /*Array::add*/; - variable360 = NEW_parser___ReduceAction359___init(); /*new ReduceAction359*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable360) /*Array::add*/; - variable361 = NEW_parser___ReduceAction360___init(); /*new ReduceAction360*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable361) /*Array::add*/; - variable362 = NEW_parser___ReduceAction361___init(); /*new ReduceAction361*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable362) /*Array::add*/; - variable363 = NEW_parser___ReduceAction362___init(); /*new ReduceAction362*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable363) /*Array::add*/; - variable364 = NEW_parser___ReduceAction363___init(); /*new ReduceAction363*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable364) /*Array::add*/; - variable365 = NEW_parser___ReduceAction364___init(); /*new ReduceAction364*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable365) /*Array::add*/; - variable366 = NEW_parser___ReduceAction365___init(); /*new ReduceAction365*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable366) /*Array::add*/; - variable367 = NEW_parser___ReduceAction366___init(); /*new ReduceAction366*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable367) /*Array::add*/; - variable368 = NEW_parser___ReduceAction367___init(); /*new ReduceAction367*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable368) /*Array::add*/; - variable369 = NEW_parser___ReduceAction368___init(); /*new ReduceAction368*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable369) /*Array::add*/; - variable370 = NEW_parser___ReduceAction369___init(); /*new ReduceAction369*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable370) /*Array::add*/; - variable371 = NEW_parser___ReduceAction370___init(); /*new ReduceAction370*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable371) /*Array::add*/; - variable372 = NEW_parser___ReduceAction371___init(); /*new ReduceAction371*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable372) /*Array::add*/; - variable373 = NEW_parser___ReduceAction372___init(); /*new ReduceAction372*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable373) /*Array::add*/; - variable374 = NEW_parser___ReduceAction373___init(); /*new ReduceAction373*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable374) /*Array::add*/; - variable375 = NEW_parser___ReduceAction374___init(); /*new ReduceAction374*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable375) /*Array::add*/; - variable376 = NEW_parser___ReduceAction375___init(); /*new ReduceAction375*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable376) /*Array::add*/; - variable377 = NEW_parser___ReduceAction376___init(); /*new ReduceAction376*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable377) /*Array::add*/; - variable378 = NEW_parser___ReduceAction377___init(); /*new ReduceAction377*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable378) /*Array::add*/; - variable379 = NEW_parser___ReduceAction378___init(); /*new ReduceAction378*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable379) /*Array::add*/; - variable380 = NEW_parser___ReduceAction379___init(); /*new ReduceAction379*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable380) /*Array::add*/; - variable381 = NEW_parser___ReduceAction380___init(); /*new ReduceAction380*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable381) /*Array::add*/; - variable382 = NEW_parser___ReduceAction381___init(); /*new ReduceAction381*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable382) /*Array::add*/; - variable383 = NEW_parser___ReduceAction382___init(); /*new ReduceAction382*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable383) /*Array::add*/; - variable384 = NEW_parser___ReduceAction383___init(); /*new ReduceAction383*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable384) /*Array::add*/; - variable385 = NEW_parser___ReduceAction384___init(); /*new ReduceAction384*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable385) /*Array::add*/; - variable386 = NEW_parser___ReduceAction385___init(); /*new ReduceAction385*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable386) /*Array::add*/; - variable387 = NEW_parser___ReduceAction386___init(); /*new ReduceAction386*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable387) /*Array::add*/; - variable388 = NEW_parser___ReduceAction387___init(); /*new ReduceAction387*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable388) /*Array::add*/; - variable389 = NEW_parser___ReduceAction388___init(); /*new ReduceAction388*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable389) /*Array::add*/; - variable390 = NEW_parser___ReduceAction389___init(); /*new ReduceAction389*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable390) /*Array::add*/; - variable391 = NEW_parser___ReduceAction390___init(); /*new ReduceAction390*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable391) /*Array::add*/; - variable392 = NEW_parser___ReduceAction391___init(); /*new ReduceAction391*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable392) /*Array::add*/; - variable393 = NEW_parser___ReduceAction392___init(); /*new ReduceAction392*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable393) /*Array::add*/; - variable394 = NEW_parser___ReduceAction393___init(); /*new ReduceAction393*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable394) /*Array::add*/; - variable395 = NEW_parser___ReduceAction394___init(); /*new ReduceAction394*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable395) /*Array::add*/; - variable396 = NEW_parser___ReduceAction395___init(); /*new ReduceAction395*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable396) /*Array::add*/; - variable397 = NEW_parser___ReduceAction396___init(); /*new ReduceAction396*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable397) /*Array::add*/; - variable398 = NEW_parser___ReduceAction397___init(); /*new ReduceAction397*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable398) /*Array::add*/; - variable399 = NEW_parser___ReduceAction398___init(); /*new ReduceAction398*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable399) /*Array::add*/; - variable400 = NEW_parser___ReduceAction399___init(); /*new ReduceAction399*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable400) /*Array::add*/; - variable401 = NEW_parser___ReduceAction400___init(); /*new ReduceAction400*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable401) /*Array::add*/; - variable402 = NEW_parser___ReduceAction401___init(); /*new ReduceAction401*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable402) /*Array::add*/; - variable403 = NEW_parser___ReduceAction402___init(); /*new ReduceAction402*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable403) /*Array::add*/; - variable404 = NEW_parser___ReduceAction403___init(); /*new ReduceAction403*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable404) /*Array::add*/; - variable405 = NEW_parser___ReduceAction404___init(); /*new ReduceAction404*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable405) /*Array::add*/; - variable406 = NEW_parser___ReduceAction405___init(); /*new ReduceAction405*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable406) /*Array::add*/; - variable407 = NEW_parser___ReduceAction406___init(); /*new ReduceAction406*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable407) /*Array::add*/; - variable408 = NEW_parser___ReduceAction407___init(); /*new ReduceAction407*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable408) /*Array::add*/; - variable409 = NEW_parser___ReduceAction408___init(); /*new ReduceAction408*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable409) /*Array::add*/; - variable410 = NEW_parser___ReduceAction409___init(); /*new ReduceAction409*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable410) /*Array::add*/; - variable411 = NEW_parser___ReduceAction410___init(); /*new ReduceAction410*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable411) /*Array::add*/; - variable412 = NEW_parser___ReduceAction411___init(); /*new ReduceAction411*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable412) /*Array::add*/; - variable413 = NEW_parser___ReduceAction412___init(); /*new ReduceAction412*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable413) /*Array::add*/; - variable414 = NEW_parser___ReduceAction413___init(); /*new ReduceAction413*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable414) /*Array::add*/; - variable415 = NEW_parser___ReduceAction414___init(); /*new ReduceAction414*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable415) /*Array::add*/; - variable416 = NEW_parser___ReduceAction415___init(); /*new ReduceAction415*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable416) /*Array::add*/; - variable417 = NEW_parser___ReduceAction416___init(); /*new ReduceAction416*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable417) /*Array::add*/; - variable418 = NEW_parser___ReduceAction417___init(); /*new ReduceAction417*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable418) /*Array::add*/; - variable419 = NEW_parser___ReduceAction418___init(); /*new ReduceAction418*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable419) /*Array::add*/; - variable420 = NEW_parser___ReduceAction419___init(); /*new ReduceAction419*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable420) /*Array::add*/; - variable421 = NEW_parser___ReduceAction420___init(); /*new ReduceAction420*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable421) /*Array::add*/; - variable422 = NEW_parser___ReduceAction421___init(); /*new ReduceAction421*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable422) /*Array::add*/; - variable423 = NEW_parser___ReduceAction422___init(); /*new ReduceAction422*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable423) /*Array::add*/; - variable424 = NEW_parser___ReduceAction423___init(); /*new ReduceAction423*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable424) /*Array::add*/; - variable425 = NEW_parser___ReduceAction424___init(); /*new ReduceAction424*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable425) /*Array::add*/; - variable426 = NEW_parser___ReduceAction425___init(); /*new ReduceAction425*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable426) /*Array::add*/; - variable427 = NEW_parser___ReduceAction426___init(); /*new ReduceAction426*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable427) /*Array::add*/; - variable428 = NEW_parser___ReduceAction427___init(); /*new ReduceAction427*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable428) /*Array::add*/; - variable429 = NEW_parser___ReduceAction428___init(); /*new ReduceAction428*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable429) /*Array::add*/; - variable430 = NEW_parser___ReduceAction429___init(); /*new ReduceAction429*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable430) /*Array::add*/; - variable431 = NEW_parser___ReduceAction430___init(); /*new ReduceAction430*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable431) /*Array::add*/; - variable432 = NEW_parser___ReduceAction431___init(); /*new ReduceAction431*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable432) /*Array::add*/; - variable433 = NEW_parser___ReduceAction432___init(); /*new ReduceAction432*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable433) /*Array::add*/; - variable434 = NEW_parser___ReduceAction433___init(); /*new ReduceAction433*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable434) /*Array::add*/; - variable435 = NEW_parser___ReduceAction434___init(); /*new ReduceAction434*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable435) /*Array::add*/; - variable436 = NEW_parser___ReduceAction435___init(); /*new ReduceAction435*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable436) /*Array::add*/; - variable437 = NEW_parser___ReduceAction436___init(); /*new ReduceAction436*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable437) /*Array::add*/; - variable438 = NEW_parser___ReduceAction437___init(); /*new ReduceAction437*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable438) /*Array::add*/; - variable439 = NEW_parser___ReduceAction438___init(); /*new ReduceAction438*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable439) /*Array::add*/; - variable440 = NEW_parser___ReduceAction439___init(); /*new ReduceAction439*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable440) /*Array::add*/; - variable441 = NEW_parser___ReduceAction440___init(); /*new ReduceAction440*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable441) /*Array::add*/; - variable442 = NEW_parser___ReduceAction441___init(); /*new ReduceAction441*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable442) /*Array::add*/; - variable443 = NEW_parser___ReduceAction442___init(); /*new ReduceAction442*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable443) /*Array::add*/; - variable444 = NEW_parser___ReduceAction443___init(); /*new ReduceAction443*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable444) /*Array::add*/; - variable445 = NEW_parser___ReduceAction444___init(); /*new ReduceAction444*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable445) /*Array::add*/; - variable446 = NEW_parser___ReduceAction445___init(); /*new ReduceAction445*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable446) /*Array::add*/; - variable447 = NEW_parser___ReduceAction446___init(); /*new ReduceAction446*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable447) /*Array::add*/; - variable448 = NEW_parser___ReduceAction447___init(); /*new ReduceAction447*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable448) /*Array::add*/; - variable449 = NEW_parser___ReduceAction448___init(); /*new ReduceAction448*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable449) /*Array::add*/; - variable450 = NEW_parser___ReduceAction449___init(); /*new ReduceAction449*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable450) /*Array::add*/; - variable451 = NEW_parser___ReduceAction450___init(); /*new ReduceAction450*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable451) /*Array::add*/; - variable452 = NEW_parser___ReduceAction451___init(); /*new ReduceAction451*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable452) /*Array::add*/; - variable453 = NEW_parser___ReduceAction452___init(); /*new ReduceAction452*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable453) /*Array::add*/; - variable454 = NEW_parser___ReduceAction453___init(); /*new ReduceAction453*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable454) /*Array::add*/; - variable455 = NEW_parser___ReduceAction454___init(); /*new ReduceAction454*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable455) /*Array::add*/; - variable456 = NEW_parser___ReduceAction455___init(); /*new ReduceAction455*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable456) /*Array::add*/; - variable457 = NEW_parser___ReduceAction456___init(); /*new ReduceAction456*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable457) /*Array::add*/; - variable458 = NEW_parser___ReduceAction457___init(); /*new ReduceAction457*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable458) /*Array::add*/; - variable459 = NEW_parser___ReduceAction458___init(); /*new ReduceAction458*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable459) /*Array::add*/; - variable460 = NEW_parser___ReduceAction459___init(); /*new ReduceAction459*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable460) /*Array::add*/; - variable461 = NEW_parser___ReduceAction460___init(); /*new ReduceAction460*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable461) /*Array::add*/; - variable462 = NEW_parser___ReduceAction461___init(); /*new ReduceAction461*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable462) /*Array::add*/; - variable463 = NEW_parser___ReduceAction462___init(); /*new ReduceAction462*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable463) /*Array::add*/; - variable464 = NEW_parser___ReduceAction463___init(); /*new ReduceAction463*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable464) /*Array::add*/; - variable465 = NEW_parser___ReduceAction464___init(); /*new ReduceAction464*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable465) /*Array::add*/; - variable466 = NEW_parser___ReduceAction465___init(); /*new ReduceAction465*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable466) /*Array::add*/; - variable467 = NEW_parser___ReduceAction466___init(); /*new ReduceAction466*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable467) /*Array::add*/; - variable468 = NEW_parser___ReduceAction467___init(); /*new ReduceAction467*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable468) /*Array::add*/; - variable469 = NEW_parser___ReduceAction468___init(); /*new ReduceAction468*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable469) /*Array::add*/; - variable470 = NEW_parser___ReduceAction469___init(); /*new ReduceAction469*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable470) /*Array::add*/; - variable471 = NEW_parser___ReduceAction470___init(); /*new ReduceAction470*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable471) /*Array::add*/; - variable472 = NEW_parser___ReduceAction471___init(); /*new ReduceAction471*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable472) /*Array::add*/; - variable473 = NEW_parser___ReduceAction472___init(); /*new ReduceAction472*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable473) /*Array::add*/; - variable474 = NEW_parser___ReduceAction473___init(); /*new ReduceAction473*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable474) /*Array::add*/; - variable475 = NEW_parser___ReduceAction474___init(); /*new ReduceAction474*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable475) /*Array::add*/; - variable476 = NEW_parser___ReduceAction475___init(); /*new ReduceAction475*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable476) /*Array::add*/; - variable477 = NEW_parser___ReduceAction476___init(); /*new ReduceAction476*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable477) /*Array::add*/; - variable478 = NEW_parser___ReduceAction477___init(); /*new ReduceAction477*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable478) /*Array::add*/; - variable479 = NEW_parser___ReduceAction478___init(); /*new ReduceAction478*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable479) /*Array::add*/; - variable480 = NEW_parser___ReduceAction479___init(); /*new ReduceAction479*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable480) /*Array::add*/; - variable481 = NEW_parser___ReduceAction480___init(); /*new ReduceAction480*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable481) /*Array::add*/; - variable482 = NEW_parser___ReduceAction481___init(); /*new ReduceAction481*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable482) /*Array::add*/; - variable483 = NEW_parser___ReduceAction482___init(); /*new ReduceAction482*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable483) /*Array::add*/; - variable484 = NEW_parser___ReduceAction483___init(); /*new ReduceAction483*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable484) /*Array::add*/; - variable485 = NEW_parser___ReduceAction484___init(); /*new ReduceAction484*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable485) /*Array::add*/; - variable486 = NEW_parser___ReduceAction485___init(); /*new ReduceAction485*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable486) /*Array::add*/; - variable487 = NEW_parser___ReduceAction486___init(); /*new ReduceAction486*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable487) /*Array::add*/; - variable488 = NEW_parser___ReduceAction487___init(); /*new ReduceAction487*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable488) /*Array::add*/; - variable489 = NEW_parser___ReduceAction488___init(); /*new ReduceAction488*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable489) /*Array::add*/; - variable490 = NEW_parser___ReduceAction489___init(); /*new ReduceAction489*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable490) /*Array::add*/; - variable491 = NEW_parser___ReduceAction490___init(); /*new ReduceAction490*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable491) /*Array::add*/; - variable492 = NEW_parser___ReduceAction491___init(); /*new ReduceAction491*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable492) /*Array::add*/; - variable493 = NEW_parser___ReduceAction492___init(); /*new ReduceAction492*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable493) /*Array::add*/; - variable494 = NEW_parser___ReduceAction493___init(); /*new ReduceAction493*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable494) /*Array::add*/; - variable495 = NEW_parser___ReduceAction494___init(); /*new ReduceAction494*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable495) /*Array::add*/; - variable496 = NEW_parser___ReduceAction495___init(); /*new ReduceAction495*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable496) /*Array::add*/; - variable497 = NEW_parser___ReduceAction496___init(); /*new ReduceAction496*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable497) /*Array::add*/; - variable498 = NEW_parser___ReduceAction497___init(); /*new ReduceAction497*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable498) /*Array::add*/; - variable499 = NEW_parser___ReduceAction498___init(); /*new ReduceAction498*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable499) /*Array::add*/; - variable500 = NEW_parser___ReduceAction499___init(); /*new ReduceAction499*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable500) /*Array::add*/; - variable501 = NEW_parser___ReduceAction500___init(); /*new ReduceAction500*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable501) /*Array::add*/; - variable502 = NEW_parser___ReduceAction501___init(); /*new ReduceAction501*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable502) /*Array::add*/; - variable503 = NEW_parser___ReduceAction502___init(); /*new ReduceAction502*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable503) /*Array::add*/; - variable504 = NEW_parser___ReduceAction503___init(); /*new ReduceAction503*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable504) /*Array::add*/; - variable505 = NEW_parser___ReduceAction504___init(); /*new ReduceAction504*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable505) /*Array::add*/; - variable506 = NEW_parser___ReduceAction505___init(); /*new ReduceAction505*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable506) /*Array::add*/; - variable507 = NEW_parser___ReduceAction506___init(); /*new ReduceAction506*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable507) /*Array::add*/; - variable508 = NEW_parser___ReduceAction507___init(); /*new ReduceAction507*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable508) /*Array::add*/; - variable509 = NEW_parser___ReduceAction508___init(); /*new ReduceAction508*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable509) /*Array::add*/; - variable510 = NEW_parser___ReduceAction509___init(); /*new ReduceAction509*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable510) /*Array::add*/; - variable511 = NEW_parser___ReduceAction510___init(); /*new ReduceAction510*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable511) /*Array::add*/; - variable512 = NEW_parser___ReduceAction511___init(); /*new ReduceAction511*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable512) /*Array::add*/; - variable513 = NEW_parser___ReduceAction512___init(); /*new ReduceAction512*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable513) /*Array::add*/; - variable514 = NEW_parser___ReduceAction513___init(); /*new ReduceAction513*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable514) /*Array::add*/; - variable515 = NEW_parser___ReduceAction514___init(); /*new ReduceAction514*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable515) /*Array::add*/; - variable516 = NEW_parser___ReduceAction515___init(); /*new ReduceAction515*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable516) /*Array::add*/; - variable517 = NEW_parser___ReduceAction516___init(); /*new ReduceAction516*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable517) /*Array::add*/; - variable518 = NEW_parser___ReduceAction517___init(); /*new ReduceAction517*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable518) /*Array::add*/; - variable519 = NEW_parser___ReduceAction518___init(); /*new ReduceAction518*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable519) /*Array::add*/; - variable520 = NEW_parser___ReduceAction519___init(); /*new ReduceAction519*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable520) /*Array::add*/; - variable521 = NEW_parser___ReduceAction520___init(); /*new ReduceAction520*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable521) /*Array::add*/; - variable522 = NEW_parser___ReduceAction521___init(); /*new ReduceAction521*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable522) /*Array::add*/; - variable523 = NEW_parser___ReduceAction522___init(); /*new ReduceAction522*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable523) /*Array::add*/; - variable524 = NEW_parser___ReduceAction523___init(); /*new ReduceAction523*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable524) /*Array::add*/; - variable525 = NEW_parser___ReduceAction524___init(); /*new ReduceAction524*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable525) /*Array::add*/; - variable526 = NEW_parser___ReduceAction525___init(); /*new ReduceAction525*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable526) /*Array::add*/; - variable527 = NEW_parser___ReduceAction526___init(); /*new ReduceAction526*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable527) /*Array::add*/; - variable528 = NEW_parser___ReduceAction527___init(); /*new ReduceAction527*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable528) /*Array::add*/; - variable529 = NEW_parser___ReduceAction528___init(); /*new ReduceAction528*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable529) /*Array::add*/; - variable530 = NEW_parser___ReduceAction529___init(); /*new ReduceAction529*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable530) /*Array::add*/; - variable531 = NEW_parser___ReduceAction530___init(); /*new ReduceAction530*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable531) /*Array::add*/; - variable532 = NEW_parser___ReduceAction531___init(); /*new ReduceAction531*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable532) /*Array::add*/; - variable533 = NEW_parser___ReduceAction532___init(); /*new ReduceAction532*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable533) /*Array::add*/; - variable534 = NEW_parser___ReduceAction533___init(); /*new ReduceAction533*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable534) /*Array::add*/; - variable535 = NEW_parser___ReduceAction534___init(); /*new ReduceAction534*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable535) /*Array::add*/; - variable536 = NEW_parser___ReduceAction535___init(); /*new ReduceAction535*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable536) /*Array::add*/; - variable537 = NEW_parser___ReduceAction536___init(); /*new ReduceAction536*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable537) /*Array::add*/; - variable538 = NEW_parser___ReduceAction537___init(); /*new ReduceAction537*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable538) /*Array::add*/; - variable539 = NEW_parser___ReduceAction538___init(); /*new ReduceAction538*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable539) /*Array::add*/; - variable540 = NEW_parser___ReduceAction539___init(); /*new ReduceAction539*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable540) /*Array::add*/; - variable541 = NEW_parser___ReduceAction540___init(); /*new ReduceAction540*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable541) /*Array::add*/; - variable542 = NEW_parser___ReduceAction541___init(); /*new ReduceAction541*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable542) /*Array::add*/; - variable543 = NEW_parser___ReduceAction542___init(); /*new ReduceAction542*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable543) /*Array::add*/; - variable544 = NEW_parser___ReduceAction543___init(); /*new ReduceAction543*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable544) /*Array::add*/; - variable545 = NEW_parser___ReduceAction544___init(); /*new ReduceAction544*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable545) /*Array::add*/; - variable546 = NEW_parser___ReduceAction545___init(); /*new ReduceAction545*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable546) /*Array::add*/; - variable547 = NEW_parser___ReduceAction546___init(); /*new ReduceAction546*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable547) /*Array::add*/; - variable548 = NEW_parser___ReduceAction547___init(); /*new ReduceAction547*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable548) /*Array::add*/; - variable549 = NEW_parser___ReduceAction548___init(); /*new ReduceAction548*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable549) /*Array::add*/; - variable550 = NEW_parser___ReduceAction549___init(); /*new ReduceAction549*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable550) /*Array::add*/; - variable551 = NEW_parser___ReduceAction550___init(); /*new ReduceAction550*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable551) /*Array::add*/; - variable552 = NEW_parser___ReduceAction551___init(); /*new ReduceAction551*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable552) /*Array::add*/; - variable553 = NEW_parser___ReduceAction552___init(); /*new ReduceAction552*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable553) /*Array::add*/; - variable554 = NEW_parser___ReduceAction553___init(); /*new ReduceAction553*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable554) /*Array::add*/; - variable555 = NEW_parser___ReduceAction554___init(); /*new ReduceAction554*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable555) /*Array::add*/; - variable556 = NEW_parser___ReduceAction555___init(); /*new ReduceAction555*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable556) /*Array::add*/; - variable557 = NEW_parser___ReduceAction556___init(); /*new ReduceAction556*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable557) /*Array::add*/; - variable558 = NEW_parser___ReduceAction557___init(); /*new ReduceAction557*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable558) /*Array::add*/; - variable559 = NEW_parser___ReduceAction558___init(); /*new ReduceAction558*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable559) /*Array::add*/; - variable560 = NEW_parser___ReduceAction559___init(); /*new ReduceAction559*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable560) /*Array::add*/; - variable561 = NEW_parser___ReduceAction560___init(); /*new ReduceAction560*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable561) /*Array::add*/; - variable562 = NEW_parser___ReduceAction561___init(); /*new ReduceAction561*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable562) /*Array::add*/; - variable563 = NEW_parser___ReduceAction562___init(); /*new ReduceAction562*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable563) /*Array::add*/; - variable564 = NEW_parser___ReduceAction563___init(); /*new ReduceAction563*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable564) /*Array::add*/; - variable565 = NEW_parser___ReduceAction564___init(); /*new ReduceAction564*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable565) /*Array::add*/; - variable566 = NEW_parser___ReduceAction565___init(); /*new ReduceAction565*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable566) /*Array::add*/; - variable567 = NEW_parser___ReduceAction566___init(); /*new ReduceAction566*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable567) /*Array::add*/; - variable568 = NEW_parser___ReduceAction567___init(); /*new ReduceAction567*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable568) /*Array::add*/; - variable569 = NEW_parser___ReduceAction568___init(); /*new ReduceAction568*/ - ((array___AbstractArray___add_t)CALL(variable0,COLOR_abstract_collection___SimpleCollection___add))(variable0, variable569) /*Array::add*/; - variable1 = NEW_array___Array___with(variable0); /*new Array[ReduceAction]*/ - variable0 = variable1; - ATTR_parser___Parser____reduce_table( self) /*Parser::_reduce_table*/ = variable0; - tracehead = trace.prev; - return; -} -void parser___SearchTokensVisitor___visit(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::SearchTokensVisitor::visit (src/parser//parser.nit:739,2--752:29)"}; - val_t variable0; - val_t variable1; - val_t variable2; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Token, ID_Token)) /*cast Token*/; - if (UNTAG_Bool(variable1)) { /*if*/ - variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Token, ID_Token)) /*cast Token*/; - if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:742,4--21\n"); nit_exit(1);} - ATTR_parser___SearchTokensVisitor____last_token( self) /*SearchTokensVisitor::_last_token*/ = variable0 /*n*/; - variable1 = ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/; - variable1 = ((array___AbstractArray___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Array::iterator*/; - while (true) { /*for*/ - variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/; - if (!UNTAG_Bool(variable2)) break; /*for*/ - variable2 = ((array___ArrayIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ArrayIterator::item*/; - ((parser_prod___Prod___first_token__eq_t)CALL( variable2 /*no*/,COLOR_parser_prod___Prod___first_token__eq))( variable2 /*no*/, variable0 /*n*/) /*Prod::first_token=*/; - continue_30: while(0); - ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/; - } - break_30: while(0); - variable1 = ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/; - ((array___AbstractArray___clear_t)CALL(variable1,COLOR_abstract_collection___RemovableCollection___clear))(variable1) /*Array::clear*/; - } else { /*if*/ - variable1 = TAG_Bool(( variable0 /*n*/==NIT_NULL) || VAL_ISA( variable0 /*n*/, COLOR_Prod, ID_Prod)) /*cast Prod*/; - if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:749,4--20\n"); nit_exit(1);} - variable1 = ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/; - ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable0 /*n*/) /*Array::add*/; - ((parser_prod___PNode___visit_all_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___visit_all))( variable0 /*n*/, self) /*Prod::visit_all*/; - variable1 = ATTR_parser___SearchTokensVisitor____last_token( self) /*SearchTokensVisitor::_last_token*/; - ((parser_prod___Prod___last_token__eq_t)CALL( variable0 /*n*/,COLOR_parser_prod___Prod___last_token__eq))( variable0 /*n*/, variable1) /*Prod::last_token=*/; - } - tracehead = trace.prev; - return; -} -void parser___SearchTokensVisitor___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::SearchTokensVisitor::init (src/parser//parser.nit:755,2--757:36)"}; - val_t variable0; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i]) return; - variable0 = NEW_array___Array___init(); /*new Array[Prod]*/ - ATTR_parser___SearchTokensVisitor____untokenned_nodes( self) /*SearchTokensVisitor::_untokenned_nodes*/ = variable0; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SearchTokensVisitor].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction::action (src/parser//parser.nit:763,2--22)"}; - trace.prev = tracehead; tracehead = &trace; - fprintf(stderr, "Deferred method action called (src/parser//parser.nit:763,2)\n"); - nit_exit(1); - tracehead = trace.prev; - return; -} -void parser___ReduceAction0___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction0::action (src/parser//parser.nit:768,2--779:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = NEW_array___Array___init(); /*new Array[Object]*/ - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable5 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable2 /*listnode3*/, variable3 /*listnode4*/); /*new AModule*/ - variable4 = variable5; - variable1 = variable4 /*pmodulenode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction0___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction0::init (src/parser//parser.nit:781,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction0].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction0].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction1___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction1::action (src/parser//parser.nit:785,2--799:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable2 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable5 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:792,6--46\n"); nit_exit(1);} - variable7 = NEW_parser_prod___AModule___init_amodule( variable5 /*ppackagedeclnode2*/, variable3 /*listnode3*/, variable4 /*listnode4*/); /*new AModule*/ - variable6 = variable7; - variable1 = variable6 /*pmodulenode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction1___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction1::init (src/parser//parser.nit:801,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction1].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction1].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction2___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction2::action (src/parser//parser.nit:805,2--826:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable2 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode3*/==NIT_NULL) || VAL_ISA( variable5 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:812,6--38\n"); nit_exit(1);} - variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode3*/ == NIT_NULL /*null*/) || (( variable5 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable6)) { /*if*/ - variable6 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable6)) { /*if*/ - variable3 = variable5 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode4*/, variable5 /*listnode3*/) /*Array::append*/; + } else { + /* ./parser//parser.nit:53 */ + goto label6; } } - variable7 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable3 /*listnode4*/, variable4 /*listnode5*/); /*new AModule*/ - variable6 = variable7; - variable1 = variable6 /*pmodulenode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction2___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction2::init (src/parser//parser.nit:828,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction2].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction2].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction3___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction3::action (src/parser//parser.nit:832,2--856:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:840,6--46\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:842,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ == NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/, variable7 /*listnode3*/) /*Array::append*/; + label6: while(0); + REGB0 = TAG_Int(1); + REGB1 = TAG_Int(0); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL); + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); } + REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)vft[INIT_TABLE_POS_ReduceAction3].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction3].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction4___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction4::action (src/parser//parser.nit:862,2--883:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable2 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode4*/==NIT_NULL) || VAL_ISA( variable5 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:869,6--38\n"); nit_exit(1);} - variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode4*/ == NIT_NULL /*null*/) || (( variable5 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable6)) { /*if*/ - variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable6)) { /*if*/ - variable4 = variable5 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable5 /*listnode4*/) /*Array::append*/; - } + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Assert %s failed", "'index'"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); } - variable7 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable3 /*listnode3*/, variable4 /*listnode5*/); /*new AModule*/ - variable6 = variable7; - variable1 = variable6 /*pmodulenode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction4___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction4::init (src/parser//parser.nit:885,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction4].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction4].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction5___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction5::action (src/parser//parser.nit:889,2--913:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:897,6--46\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:899,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable5 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[0] = ATTR_array___Array____items(fra.me.REG[0]); + REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL); + /* ./../lib/standard//collection//array.nit:234 */ + if (UNTAG_Bool(REGB1)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234); + nit_exit(1); } - variable9 = NEW_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/, variable4 /*listnode3*/, variable5 /*listnode5*/); /*new AModule*/ - variable8 = variable9; - variable1 = variable8 /*pmodulenode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction5___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction5::init (src/parser//parser.nit:915,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction5].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction5].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction6___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction6::action (src/parser//parser.nit:919,2--950:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:927,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ == NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/, variable6 /*listnode3*/) /*Array::append*/; - } + fra.me.REG[0] = ((Nit_NativeArray)fra.me.REG[0])->val[UNTAG_Int(REGB0)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label7; + label7: while(0); + REGB5 = fra.me.REG[0]; + /* ./parser//parser.nit:66 */ + goto label5; + label5: while(0); + stack_frame_head = fra.me.prev; + return REGB5; +} +void parser___Parser___push(val_t p0, val_t p1, val_t p2){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 69; + fra.me.meth = LOCATE_parser___Parser___push; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + fra.me.REG[1] = p2; + REGB1 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:72 */ + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_stack_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 72); + nit_exit(1); } - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode5*/==NIT_NULL) || VAL_ISA( variable7 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:936,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode5*/ == NIT_NULL /*null*/) || (( variable7 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable5 = variable7 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode6*/, variable7 /*listnode5*/) /*Array::append*/; - } + REGB1 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]); + REGB2 = TAG_Int(1); + REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2)); + /* ./parser//parser.nit:73 */ + ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB2; + REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:74 */ + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_stack"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 74); + nit_exit(1); } - variable9 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable4 /*listnode4*/, variable5 /*listnode6*/); /*new AModule*/ - variable8 = variable9; - variable1 = variable8 /*pmodulenode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction6___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction6::init (src/parser//parser.nit:952,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction6].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction6].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction7___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction7::action (src/parser//parser.nit:956,2--990:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable4 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:965,6--46\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:967,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable8 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/; - } + fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]); + REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); + /* ./../lib/standard//collection//array.nit:23 */ + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23); + nit_exit(1); } - variable9 = variable2 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:976,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable9 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable9 /*listnode5*/) /*Array::append*/; + REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]); + REGB1 = TAG_Bool(UNTAG_Int(REGB2)vft[INIT_TABLE_POS_ReduceAction7].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction7].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction8___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction8::action (src/parser//parser.nit:996,2--1021:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable3 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable7 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1005,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable7 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable8)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/, variable7 /*ppropdefnode5*/) /*Array::add*/; - } - variable9 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable6 /*listnode6*/); /*new ATopClassdef*/ - variable8 = variable9; - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable8 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable5 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode7*/, variable8 /*pclassdefnode4*/) /*Array::add*/; - } - variable10 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable4 /*listnode3*/, variable5 /*listnode7*/); /*new AModule*/ - variable9 = variable10; - variable1 = variable9 /*pmodulenode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction8___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction8::init (src/parser//parser.nit:1023,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction8].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction8].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction9___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction9::action (src/parser//parser.nit:1027,2--1062:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable4 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1037,6--38\n"); nit_exit(1);} - variable9 = variable2 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*listnode6*/==NIT_NULL) || VAL_ISA( variable9 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1039,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable8 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable10)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode7*/, variable8 /*ppropdefnode5*/) /*Array::add*/; - } - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode6*/ == NIT_NULL /*null*/) || (( variable9 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode6*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode7*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable7 = variable9 /*listnode6*/ /*listnode7=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode7*/, variable9 /*listnode6*/) /*Array::append*/; + fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]); + REGB1 = TAG_Int(0); + REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB1)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); + } + REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]); + REGB1 = TAG_Bool(UNTAG_Int(REGB2)vft[INIT_TABLE_POS_ReduceAction9].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction9].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction10___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction10::action (src/parser//parser.nit:1068,2--1096:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable4 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1077,6--46\n"); nit_exit(1);} - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable3 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1080,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable9 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable10)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode6*/, variable9 /*ppropdefnode5*/) /*Array::add*/; - } - variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode6*/); /*new ATopClassdef*/ - variable10 = variable11; - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable10 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode7*/, variable10 /*pclassdefnode4*/) /*Array::add*/; - } - variable12 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/, variable5 /*listnode3*/, variable6 /*listnode7*/); /*new AModule*/ - variable11 = variable12; - variable1 = variable11 /*pmodulenode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction10___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction10::init (src/parser//parser.nit:1098,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction10].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction10].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction11___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction11::action (src/parser//parser.nit:1102,2--1140:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1112,6--46\n"); nit_exit(1);} - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable4 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1115,6--38\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*listnode6*/==NIT_NULL) || VAL_ISA( variable11 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1117,6--38\n"); nit_exit(1);} - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable12)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/, variable10 /*ppropdefnode5*/) /*Array::add*/; - } - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode6*/ == NIT_NULL /*null*/) || (( variable11 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode6*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable12)) { /*if*/ - variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode7*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable12)) { /*if*/ - variable9 = variable11 /*listnode6*/ /*listnode7=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode7*/, variable11 /*listnode6*/) /*Array::append*/; + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Assert %s failed", "'index'"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); } - } - variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/ - variable12 = variable13; - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/, variable12 /*pclassdefnode4*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/, variable6 /*listnode3*/, variable7 /*listnode8*/); /*new AModule*/ - variable13 = variable14; - variable1 = variable13 /*pmodulenode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction11___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction11::init (src/parser//parser.nit:1142,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction11].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction11].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction12___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction12::action (src/parser//parser.nit:1146,2--1181:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable4 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1155,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ == NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable5 = variable7 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/, variable7 /*listnode3*/) /*Array::append*/; + fra.me.REG[2] = ATTR_array___Array____items(fra.me.REG[2]); + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./../lib/standard//collection//array.nit:234 */ + if (UNTAG_Bool(REGB1)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234); + nit_exit(1); } - } - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable3 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1165,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable9 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable10)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/, variable9 /*ppropdefnode6*/) /*Array::add*/; - } - variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/ - variable10 = variable11; - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable10 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/, variable10 /*pclassdefnode5*/) /*Array::add*/; - } - variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable5 /*listnode4*/, variable6 /*listnode8*/); /*new AModule*/ - variable11 = variable12; - variable1 = variable11 /*pmodulenode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction12___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction12::init (src/parser//parser.nit:1183,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction12].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction12].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction13___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction13::action (src/parser//parser.nit:1187,2--1232:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1197,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable6 = variable8 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/; + fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB2)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label1; + label1: while(0); + /* ./parser//parser.nit:76 */ + CALL_parser___State___state__eq(fra.me.REG[2])(fra.me.REG[2], REGB0); + /* ./parser//parser.nit:77 */ + CALL_parser___State___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]); + } else { + REGB2 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:79 */ + if (UNTAG_Bool(REGB2)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_stack"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 79); + nit_exit(1); } + fra.me.REG[0] = ATTR_parser___Parser____stack(fra.me.REG[0]); + fra.me.REG[1] = NEW_State_parser___State___init(REGB0, fra.me.REG[1]); + CALL_abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); } - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable4 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1207,6--38\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*listnode7*/==NIT_NULL) || VAL_ISA( variable11 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1209,6--38\n"); nit_exit(1);} - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable12)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode8*/, variable10 /*ppropdefnode6*/) /*Array::add*/; - } - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode7*/ == NIT_NULL /*null*/) || (( variable11 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable12)) { /*if*/ - variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable12)) { /*if*/ - variable9 = variable11 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode8*/, variable11 /*listnode7*/) /*Array::append*/; - } + stack_frame_head = fra.me.prev; + return; +} +val_t parser___Parser___state(val_t p0){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 83; + fra.me.meth = LOCATE_parser___Parser___state; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:86 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_stack"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 86); + nit_exit(1); } - variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode8*/); /*new ATopClassdef*/ - variable12 = variable13; - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode5*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode4*/, variable7 /*listnode9*/); /*new AModule*/ - variable13 = variable14; - variable1 = variable13 /*pmodulenode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction13___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction13::init (src/parser//parser.nit:1234,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction13].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction13].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction14___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction14::action (src/parser//parser.nit:1238,2--1276:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1248,6--46\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1250,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable9 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/; - } + fra.me.REG[1] = ATTR_parser___Parser____stack(fra.me.REG[0]); + REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_stack_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 86); + nit_exit(1); } - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable11 = variable3 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1260,6--38\n"); nit_exit(1);} - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable12)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/, variable11 /*ppropdefnode6*/) /*Array::add*/; - } - variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/ - variable12 = variable13; - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/, variable12 /*pclassdefnode5*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/, variable6 /*listnode4*/, variable7 /*listnode8*/); /*new AModule*/ - variable13 = variable14; - variable1 = variable13 /*pmodulenode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction14___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction14::init (src/parser//parser.nit:1278,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction14].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction14].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction15___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction15::action (src/parser//parser.nit:1282,2--1330:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable6 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1293,6--46\n"); nit_exit(1);} - variable10 = variable5 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1295,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/; + REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]); + REGB1 = TAG_Int(0); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); } + REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)vft[INIT_TABLE_POS_ReduceAction15].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction15].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction16___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction16::action (src/parser//parser.nit:1336,2--1371:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable4 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1345,6--38\n"); nit_exit(1);} - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable3 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1348,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable9 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable10)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/, variable9 /*ppropdefnode6*/) /*Array::add*/; - } - variable11 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/ - variable10 = variable11; - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable6 = variable7 /*listnode4*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode8*/, variable7 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[1] = ATTR_array___Array____items(fra.me.REG[1]); + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + /* ./../lib/standard//collection//array.nit:234 */ + if (UNTAG_Bool(REGB1)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234); + nit_exit(1); } - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable10 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/, variable10 /*pclassdefnode5*/) /*Array::add*/; - } - variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable5 /*listnode3*/, variable6 /*listnode8*/); /*new AModule*/ - variable11 = variable12; - variable1 = variable11 /*pmodulenode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction16___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction16::init (src/parser//parser.nit:1373,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction16].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction16].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction17___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction17::action (src/parser//parser.nit:1377,2--1422:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1387,6--38\n"); nit_exit(1);} - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable4 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1390,6--38\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*listnode7*/==NIT_NULL) || VAL_ISA( variable11 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1392,6--38\n"); nit_exit(1);} - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable12)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode8*/, variable10 /*ppropdefnode6*/) /*Array::add*/; - } - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode7*/ == NIT_NULL /*null*/) || (( variable11 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable12)) { /*if*/ - variable12 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable12)) { /*if*/ - variable9 = variable11 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode8*/, variable11 /*listnode7*/) /*Array::append*/; - } + fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label1; + label1: while(0); + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + /* ./parser//parser.nit:86 */ + if (UNTAG_Bool(REGB0)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 86); + nit_exit(1); } - variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode8*/); /*new ATopClassdef*/ - variable12 = variable13; - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable13)) { /*if*/ - variable7 = variable8 /*listnode4*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/, variable8 /*listnode4*/) /*Array::append*/; - } + REGB0 = CALL_parser___State___state(fra.me.REG[1])(fra.me.REG[1]); + goto label2; + label2: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t parser___Parser___pop(val_t p0){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 89; + fra.me.meth = LOCATE_parser___Parser___pop; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:92 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_stack"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 92); + nit_exit(1); } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode5*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode3*/, variable7 /*listnode9*/); /*new AModule*/ - variable13 = variable14; - variable1 = variable13 /*pmodulenode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction17___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction17::init (src/parser//parser.nit:1424,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction17].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction17].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction18___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction18::action (src/parser//parser.nit:1428,2--1466:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1438,6--46\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*listnode4*/==NIT_NULL) || VAL_ISA( variable9 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1440,6--38\n"); nit_exit(1);} - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable11 = variable3 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1443,6--38\n"); nit_exit(1);} - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable12)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/, variable11 /*ppropdefnode6*/) /*Array::add*/; - } - variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/ - variable12 = variable13; - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ == NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable13)) { /*if*/ - variable7 = variable9 /*listnode4*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode8*/, variable9 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[1] = ATTR_parser___Parser____stack(fra.me.REG[0]); + REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_stack_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 92); + nit_exit(1); } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/, variable12 /*pclassdefnode5*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/, variable6 /*listnode3*/, variable7 /*listnode8*/); /*new AModule*/ - variable13 = variable14; - variable1 = variable13 /*pmodulenode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction18___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction18::init (src/parser//parser.nit:1468,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction18].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction18].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction19___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction19::action (src/parser//parser.nit:1472,2--1520:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable6 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1483,6--46\n"); nit_exit(1);} - variable10 = variable5 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1485,6--38\n"); nit_exit(1);} - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable12 = variable4 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1488,6--38\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*listnode7*/==NIT_NULL) || VAL_ISA( variable13 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1490,6--38\n"); nit_exit(1);} - variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable14)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/, variable12 /*ppropdefnode6*/) /*Array::add*/; - } - variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode7*/ == NIT_NULL /*null*/) || (( variable13 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable14)) { /*if*/ - variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable14)) { /*if*/ - variable11 = variable13 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/, variable13 /*listnode7*/) /*Array::append*/; + REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]); + REGB1 = TAG_Int(0); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); } + REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)vft[INIT_TABLE_POS_ReduceAction19].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction19].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction20___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction20::action (src/parser//parser.nit:1526,2--1571:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1536,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable6 = variable8 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/; - } + fra.me.REG[1] = ATTR_array___Array____items(fra.me.REG[1]); + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + /* ./../lib/standard//collection//array.nit:234 */ + if (UNTAG_Bool(REGB1)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234); + nit_exit(1); } - variable9 = variable4 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1545,6--38\n"); nit_exit(1);} - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable11 = variable3 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1548,6--38\n"); nit_exit(1);} - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable12)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/, variable11 /*ppropdefnode7*/) /*Array::add*/; - } - variable13 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/ - variable12 = variable13; - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable13)) { /*if*/ - variable7 = variable9 /*listnode5*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/, variable9 /*listnode5*/) /*Array::append*/; - } + fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label1; + label1: while(0); + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + /* ./parser//parser.nit:92 */ + if (UNTAG_Bool(REGB0)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 92); + nit_exit(1); } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode6*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode4*/, variable7 /*listnode9*/); /*new AModule*/ - variable13 = variable14; - variable1 = variable13 /*pmodulenode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction20___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction20::init (src/parser//parser.nit:1573,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction20].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction20].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction21___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction21::action (src/parser//parser.nit:1577,2--1632:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable6 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1588,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable7 = variable9 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/; - } + fra.me.REG[1] = CALL_parser___State___nodes(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:93 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_stack_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 93); + nit_exit(1); } - variable10 = variable5 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*listnode5*/==NIT_NULL) || VAL_ISA( variable10 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1597,6--38\n"); nit_exit(1);} - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable12 = variable4 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1600,6--38\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*listnode8*/==NIT_NULL) || VAL_ISA( variable13 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1602,6--38\n"); nit_exit(1);} - variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable14)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode9*/, variable12 /*ppropdefnode7*/) /*Array::add*/; - } - variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode8*/ == NIT_NULL /*null*/) || (( variable13 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable14)) { /*if*/ - variable14 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable14)) { /*if*/ - variable11 = variable13 /*listnode8*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode9*/, variable13 /*listnode8*/) /*Array::append*/; - } + REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]); + REGB1 = TAG_Int(1); + REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1)); + /* ./parser//parser.nit:93 */ + ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB1; + /* ./parser//parser.nit:94 */ + goto label2; + label2: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; +} +val_t parser___Parser___parse(val_t p0){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t REGB4; + val_t REGB5; + val_t REGB6; + val_t REGB7; + val_t REGB8; + val_t REGB9; + val_t tmp; + static val_t once_value_11; /* Once value */ + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 97; + fra.me.meth = LOCATE_parser___Parser___parse; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = TAG_Int(0); + /* ./parser//parser.nit:100 */ + CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB0, NIT_NULL); + REGB0 = TAG_Bool(ATTR_parser___Parser____lexer(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:102 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_lexer"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 102); + nit_exit(1); } - variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode9*/); /*new ATopClassdef*/ - variable14 = variable15; - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode5*/ == NIT_NULL /*null*/) || (( variable10 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable15)) { /*if*/ - variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable15)) { /*if*/ - variable8 = variable10 /*listnode5*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/, variable10 /*listnode5*/) /*Array::append*/; + fra.me.REG[1] = ATTR_parser___Parser____lexer(fra.me.REG[0]); + /* ./parser//parser.nit:103 */ + while(1) { + REGB0 = TAG_Bool(true); + if (UNTAG_Bool(REGB0)) { + fra.me.REG[2] = CALL_lexer___Lexer___peek(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AError, ID_AError)) /*cast AError*/; + /* ./parser//parser.nit:105 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = NEW_Start_parser_prod___Start___init(NIT_NULL, fra.me.REG[2]); + /* ./parser//parser.nit:106 */ + goto label1; + } + REGB0 = CALL_lexer___Token___parser_index(fra.me.REG[2])(fra.me.REG[2]); + REGB1 = TAG_Bool(ATTR_parser_tables___ParserTable____action_table(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:110 */ + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_action_table"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 110); + nit_exit(1); + } + fra.me.REG[4] = ATTR_parser_tables___ParserTable____action_table(fra.me.REG[0]); + REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]); + REGB2 = TAG_Int(0); + REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB2)) { + REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL); + if (UNTAG_Bool(REGB2)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); + } + REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]); + REGB2 = TAG_Bool(UNTAG_Int(REGB1)val[UNTAG_Int(REGB1)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label2; + label2: while(0); + REGB1 = TAG_Int(1); + fra.me.REG[5] = fra.me.REG[4]; + REGB2 = TAG_Int(0); + REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB2)) { + REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL); + if (UNTAG_Bool(REGB2)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); + } + REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]); + REGB2 = TAG_Bool(UNTAG_Int(REGB1)val[UNTAG_Int(REGB1)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label3; + label3: while(0); + REGB1 = fra.me.REG[5]; + REGB2 = TAG_Int(2); + fra.me.REG[5] = fra.me.REG[4]; + REGB3 = TAG_Int(0); + REGB3 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB3)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB3)) { + REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL); + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); + } + REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]); + REGB3 = TAG_Bool(UNTAG_Int(REGB2)val[UNTAG_Int(REGB2)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label4; + label4: while(0); + REGB2 = fra.me.REG[5]; + REGB3 = TAG_Int(1); + REGB4 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL); + /* ./../lib/standard//collection//array.nit:23 */ + if (UNTAG_Bool(REGB4)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23); + nit_exit(1); + } + REGB4 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]); + REGB5 = TAG_Int(3); + REGB5 = TAG_Int(UNTAG_Int(REGB4)/UNTAG_Int(REGB5)); + REGB4 = TAG_Int(1); + REGB4 = TAG_Int(UNTAG_Int(REGB5)-UNTAG_Int(REGB4)); + /* ./parser//parser.nit:117 */ + while(1) { + REGB5 = TAG_Bool(UNTAG_Int(REGB3)<=UNTAG_Int(REGB4)); + /* ./parser//parser.nit:117 */ + if (UNTAG_Bool(REGB5)) { + REGB5 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB4)); + REGB6 = TAG_Int(2); + REGB6 = TAG_Int(UNTAG_Int(REGB5)/UNTAG_Int(REGB6)); + REGB5 = TAG_Int(3); + REGB5 = TAG_Int(UNTAG_Int(REGB6)*UNTAG_Int(REGB5)); + fra.me.REG[5] = fra.me.REG[4]; + REGB7 = REGB5; + REGB8 = TAG_Int(0); + REGB8 = TAG_Bool(UNTAG_Int(REGB7)>=UNTAG_Int(REGB8)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB8)) { + REGB8 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL); + if (UNTAG_Bool(REGB8)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); + } + REGB8 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]); + REGB8 = TAG_Bool(UNTAG_Int(REGB7)val[UNTAG_Int(REGB7)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label5; + label5: while(0); + REGB7 = TAG_Bool(UNTAG_Int(REGB0)=UNTAG_Int(REGB8)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB8)) { + REGB8 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL); + if (UNTAG_Bool(REGB8)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); + } + REGB8 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]); + REGB8 = TAG_Bool(UNTAG_Int(REGB7)val[UNTAG_Int(REGB7)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label6; + label6: while(0); + REGB7 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(fra.me.REG[5])); + /* ./parser//parser.nit:123 */ + if (UNTAG_Bool(REGB7)) { + REGB7 = TAG_Int(1); + REGB7 = TAG_Int(UNTAG_Int(REGB6)+UNTAG_Int(REGB7)); + REGB3 = REGB7; + /* ./parser//parser.nit:124 */ + } else { + REGB7 = TAG_Int(1); + REGB7 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB7)); + fra.me.REG[5] = fra.me.REG[4]; + REGB6 = TAG_Int(0); + REGB6 = TAG_Bool(UNTAG_Int(REGB7)>=UNTAG_Int(REGB6)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB6)) { + REGB6 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL); + if (UNTAG_Bool(REGB6)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); + } + REGB6 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]); + REGB6 = TAG_Bool(UNTAG_Int(REGB7)val[UNTAG_Int(REGB7)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label7; + label7: while(0); + REGB1 = fra.me.REG[5]; + REGB7 = TAG_Int(2); + REGB7 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB7)); + fra.me.REG[5] = fra.me.REG[4]; + REGB5 = TAG_Int(0); + REGB5 = TAG_Bool(UNTAG_Int(REGB7)>=UNTAG_Int(REGB5)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB5)) { + REGB5 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL); + if (UNTAG_Bool(REGB5)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); + } + REGB5 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]); + REGB5 = TAG_Bool(UNTAG_Int(REGB7)val[UNTAG_Int(REGB7)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label8; + label8: while(0); + REGB2 = fra.me.REG[5]; + REGB7 = TAG_Int(1); + REGB7 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB7)); + REGB4 = REGB7; + /* ./parser//parser.nit:128 */ + } + } + } else { + /* ./parser//parser.nit:117 */ + goto label9; + } + } + label9: while(0); + REGB4 = TAG_Int(0); + REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB4)); + /* ./parser//parser.nit:132 */ + if (UNTAG_Bool(REGB3)) { + } else { + REGB4 = TAG_Bool((REGB1)==(REGB4)); + REGB3 = REGB4; + /* ./parser//parser.nit:132 */ + } + if (UNTAG_Bool(REGB3)) { + fra.me.REG[4] = CALL_lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]); + /* ./parser//parser.nit:133 */ + CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB2, fra.me.REG[4]); + } else { + REGB3 = TAG_Int(1); + REGB4 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB3)); + /* ./parser//parser.nit:134 */ + if (UNTAG_Bool(REGB4)) { + } else { + REGB3 = TAG_Bool((REGB1)==(REGB3)); + REGB4 = REGB3; + /* ./parser//parser.nit:134 */ + } + if (UNTAG_Bool(REGB4)) { + REGB4 = TAG_Bool(ATTR_parser___Parser____reduce_table(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:135 */ + if (UNTAG_Bool(REGB4)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_reduce_table"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 135); + nit_exit(1); + } + fra.me.REG[4] = ATTR_parser___Parser____reduce_table(fra.me.REG[0]); + REGB4 = TAG_Int(0); + REGB4 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB4)); + /* ./../lib/standard//collection//array.nit:233 */ + if (UNTAG_Bool(REGB4)) { + REGB4 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL); + if (UNTAG_Bool(REGB4)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233); + nit_exit(1); + } + REGB4 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]); + REGB4 = TAG_Bool(UNTAG_Int(REGB2)val[UNTAG_Int(REGB2)]; + /* ./../lib/standard//collection//array.nit:234 */ + goto label10; + label10: while(0); + REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:135 */ + if (UNTAG_Bool(REGB2)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 135); + nit_exit(1); + } + CALL_parser___ReduceAction___action(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]); + } else { + REGB2 = TAG_Int(2); + REGB4 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2)); + /* ./parser//parser.nit:136 */ + if (UNTAG_Bool(REGB4)) { + } else { + REGB2 = TAG_Bool((REGB1)==(REGB2)); + REGB4 = REGB2; + /* ./parser//parser.nit:136 */ + } + if (UNTAG_Bool(REGB4)) { + fra.me.REG[4] = CALL_lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]); + REGB4 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_EOF, ID_EOF)) /*cast EOF*/; + /* ./parser//parser.nit:138 */ + if (UNTAG_Bool(REGB4)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 138); + nit_exit(1); + } + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[0])(fra.me.REG[0]); + REGB4 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_AModule, ID_AModule)) /*cast AModule*/; + /* ./parser//parser.nit:140 */ + if (UNTAG_Bool(REGB4)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 140); + nit_exit(1); + } + fra.me.REG[4] = NEW_Start_parser_prod___Start___init(fra.me.REG[5], fra.me.REG[4]); + fra.me.REG[5] = NEW_ComputeProdLocationVisitor_parser___ComputeProdLocationVisitor___init(); + /* ./parser//parser.nit:142 */ + CALL_parser_prod___Visitor___enter_visit(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]); + fra.me.REG[3] = fra.me.REG[4]; + /* ./parser//parser.nit:143 */ + goto label1; + } else { + REGB4 = TAG_Int(3); + REGB2 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB4)); + /* ./parser//parser.nit:144 */ + if (UNTAG_Bool(REGB2)) { + } else { + REGB4 = TAG_Bool((REGB1)==(REGB4)); + REGB2 = REGB4; + /* ./parser//parser.nit:144 */ + } + if (UNTAG_Bool(REGB2)) { + /* ./parser//parser.nit:145 */ + if (!once_value_11) { + fra.me.REG[4] = BOX_NativeString("Syntax error: unexpected token."); + REGB2 = TAG_Int(31); + fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB2); + once_value_11 = fra.me.REG[4]; + register_static_object(&once_value_11); + } else fra.me.REG[4] = once_value_11; + fra.me.REG[2] = CALL_parser_nodes___ANode___location(fra.me.REG[2])(fra.me.REG[2]); + fra.me.REG[2] = NEW_AError_lexer___AError___init_error(fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[2] = NEW_Start_parser_prod___Start___init(NIT_NULL, fra.me.REG[2]); + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:147 */ + goto label1; + } + } + } + } + } else { + /* ./parser//parser.nit:103 */ + goto label12; } } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable14 /*pclassdefnode6*/) /*Array::add*/; - } - variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable7 /*listnode4*/, variable8 /*listnode10*/); /*new AModule*/ - variable15 = variable16; - variable1 = variable15 /*pmodulenode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction21___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction21::init (src/parser//parser.nit:1634,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction21].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction21].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction22___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction22::action (src/parser//parser.nit:1638,2--1686:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable6 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1649,6--46\n"); nit_exit(1);} - variable10 = variable5 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1651,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/; + label12: while(0); + /* ./parser//parser.nit:150 */ + fprintf(stderr, "Aborted"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 150); + nit_exit(1); + label1: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[3]; +} +void parser___Parser___build_reduce_table(val_t p0){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 154; + fra.me.meth = LOCATE_parser___Parser___build_reduce_table; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = TAG_Int(1193); + fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0); + fra.me.REG[2] = NEW_ReduceAction0_parser___ReduceAction0___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1_parser___ReduceAction1___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction2_parser___ReduceAction2___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction3_parser___ReduceAction3___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction4_parser___ReduceAction4___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction5_parser___ReduceAction5___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction6_parser___ReduceAction6___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction7_parser___ReduceAction7___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction8_parser___ReduceAction8___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction9_parser___ReduceAction9___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction10_parser___ReduceAction10___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction11_parser___ReduceAction11___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction12_parser___ReduceAction12___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction13_parser___ReduceAction13___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction14_parser___ReduceAction14___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction15_parser___ReduceAction15___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction16_parser___ReduceAction16___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction17_parser___ReduceAction17___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction18_parser___ReduceAction18___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction19_parser___ReduceAction19___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction20_parser___ReduceAction20___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction21_parser___ReduceAction21___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction22_parser___ReduceAction22___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction23_parser___ReduceAction23___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction24_parser___ReduceAction24___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction25_parser___ReduceAction25___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction26_parser___ReduceAction26___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction27_parser___ReduceAction27___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction28_parser___ReduceAction28___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction29_parser___ReduceAction29___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction30_parser___ReduceAction30___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction31_parser___ReduceAction31___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction32_parser___ReduceAction32___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction33_parser___ReduceAction33___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction34_parser___ReduceAction34___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction35_parser___ReduceAction35___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction36_parser___ReduceAction36___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction37_parser___ReduceAction37___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction38_parser___ReduceAction38___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction39_parser___ReduceAction39___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction40_parser___ReduceAction40___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction41_parser___ReduceAction41___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction42_parser___ReduceAction42___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction43_parser___ReduceAction43___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction44_parser___ReduceAction44___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction45_parser___ReduceAction45___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction46_parser___ReduceAction46___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction47_parser___ReduceAction47___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction48_parser___ReduceAction48___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction49_parser___ReduceAction49___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction50_parser___ReduceAction50___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction51_parser___ReduceAction51___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction52_parser___ReduceAction52___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction53_parser___ReduceAction53___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction54_parser___ReduceAction54___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction55_parser___ReduceAction55___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction56_parser___ReduceAction56___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction57_parser___ReduceAction57___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction58_parser___ReduceAction58___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction59_parser___ReduceAction59___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction60_parser___ReduceAction60___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction61_parser___ReduceAction61___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction62_parser___ReduceAction62___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction63_parser___ReduceAction63___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction64_parser___ReduceAction64___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction65_parser___ReduceAction65___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction66_parser___ReduceAction66___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction67_parser___ReduceAction67___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction68_parser___ReduceAction68___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction69_parser___ReduceAction69___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction70_parser___ReduceAction70___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction71_parser___ReduceAction71___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction72_parser___ReduceAction72___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction73_parser___ReduceAction73___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction74_parser___ReduceAction74___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction75_parser___ReduceAction75___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction76_parser___ReduceAction76___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction77_parser___ReduceAction77___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction78_parser___ReduceAction78___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction79_parser___ReduceAction79___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction80_parser___ReduceAction80___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction81_parser___ReduceAction81___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction82_parser___ReduceAction82___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction83_parser___ReduceAction83___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction84_parser___ReduceAction84___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction85_parser___ReduceAction85___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction86_parser___ReduceAction86___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction87_parser___ReduceAction87___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction88_parser___ReduceAction88___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction89_parser___ReduceAction89___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction90_parser___ReduceAction90___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction91_parser___ReduceAction91___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction92_parser___ReduceAction92___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction93_parser___ReduceAction93___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction94_parser___ReduceAction94___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction95_parser___ReduceAction95___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction96_parser___ReduceAction96___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction97_parser___ReduceAction97___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction98_parser___ReduceAction98___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction99_parser___ReduceAction99___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction100_parser___ReduceAction100___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction101_parser___ReduceAction101___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction102_parser___ReduceAction102___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction103_parser___ReduceAction103___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction104_parser___ReduceAction104___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction105_parser___ReduceAction105___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction106_parser___ReduceAction106___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction107_parser___ReduceAction107___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction108_parser___ReduceAction108___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction109_parser___ReduceAction109___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction110_parser___ReduceAction110___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction111_parser___ReduceAction111___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction112_parser___ReduceAction112___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction113_parser___ReduceAction113___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction114_parser___ReduceAction114___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction115_parser___ReduceAction115___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction116_parser___ReduceAction116___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction117_parser___ReduceAction117___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction118_parser___ReduceAction118___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction119_parser___ReduceAction119___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction120_parser___ReduceAction120___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction121_parser___ReduceAction121___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction122_parser___ReduceAction122___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction123_parser___ReduceAction123___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction124_parser___ReduceAction124___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction125_parser___ReduceAction125___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction126_parser___ReduceAction126___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction127_parser___ReduceAction127___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction128_parser___ReduceAction128___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction129_parser___ReduceAction129___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction130_parser___ReduceAction130___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction131_parser___ReduceAction131___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction132_parser___ReduceAction132___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction133_parser___ReduceAction133___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction134_parser___ReduceAction134___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction135_parser___ReduceAction135___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction136_parser___ReduceAction136___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction137_parser___ReduceAction137___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction138_parser___ReduceAction138___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction139_parser___ReduceAction139___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction140_parser___ReduceAction140___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction141_parser___ReduceAction141___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction142_parser___ReduceAction142___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction143_parser___ReduceAction143___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction144_parser___ReduceAction144___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction145_parser___ReduceAction145___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction146_parser___ReduceAction146___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction147_parser___ReduceAction147___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction148_parser___ReduceAction148___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction149_parser___ReduceAction149___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction150_parser___ReduceAction150___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction151_parser___ReduceAction151___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction152_parser___ReduceAction152___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction153_parser___ReduceAction153___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction154_parser___ReduceAction154___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction155_parser___ReduceAction155___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction156_parser___ReduceAction156___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction157_parser___ReduceAction157___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction158_parser___ReduceAction158___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction159_parser___ReduceAction159___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction160_parser___ReduceAction160___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction161_parser___ReduceAction161___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction162_parser___ReduceAction162___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction163_parser___ReduceAction163___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction164_parser___ReduceAction164___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction165_parser___ReduceAction165___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction166_parser___ReduceAction166___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction167_parser___ReduceAction167___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction168_parser___ReduceAction168___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction169_parser___ReduceAction169___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction170_parser___ReduceAction170___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction171_parser___ReduceAction171___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction172_parser___ReduceAction172___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction173_parser___ReduceAction173___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction174_parser___ReduceAction174___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction175_parser___ReduceAction175___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction176_parser___ReduceAction176___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction177_parser___ReduceAction177___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction178_parser___ReduceAction178___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction179_parser___ReduceAction179___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction180_parser___ReduceAction180___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction181_parser___ReduceAction181___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction182_parser___ReduceAction182___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction183_parser___ReduceAction183___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction184_parser___ReduceAction184___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction185_parser___ReduceAction185___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction186_parser___ReduceAction186___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction187_parser___ReduceAction187___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction188_parser___ReduceAction188___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction189_parser___ReduceAction189___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction190_parser___ReduceAction190___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction191_parser___ReduceAction191___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction192_parser___ReduceAction192___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction193_parser___ReduceAction193___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction194_parser___ReduceAction194___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction195_parser___ReduceAction195___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction196_parser___ReduceAction196___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction197_parser___ReduceAction197___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction198_parser___ReduceAction198___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction199_parser___ReduceAction199___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction200_parser___ReduceAction200___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction201_parser___ReduceAction201___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction202___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction203_parser___ReduceAction203___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction204_parser___ReduceAction204___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction205___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction206_parser___ReduceAction206___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction207_parser___ReduceAction207___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction208_parser___ReduceAction208___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction209_parser___ReduceAction209___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction210_parser___ReduceAction210___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction211_parser___ReduceAction211___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction212_parser___ReduceAction212___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction213_parser___ReduceAction213___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction214_parser___ReduceAction214___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction215_parser___ReduceAction215___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction216_parser___ReduceAction216___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction217_parser___ReduceAction217___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction218_parser___ReduceAction218___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction219_parser___ReduceAction219___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction220_parser___ReduceAction220___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction221_parser___ReduceAction221___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction222_parser___ReduceAction222___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction223_parser___ReduceAction223___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction224_parser___ReduceAction224___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction225_parser___ReduceAction225___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction226_parser___ReduceAction226___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction227_parser___ReduceAction227___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction228_parser___ReduceAction228___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction229_parser___ReduceAction229___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction230_parser___ReduceAction230___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction231_parser___ReduceAction231___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction232___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction233___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction234___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction235___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction236___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction237_parser___ReduceAction237___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction238_parser___ReduceAction238___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction239_parser___ReduceAction239___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction240___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction241_parser___ReduceAction241___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction242___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction243___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction244_parser___ReduceAction244___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction245_parser___ReduceAction245___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction246_parser___ReduceAction246___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction247_parser___ReduceAction247___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction248_parser___ReduceAction248___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction249_parser___ReduceAction249___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction250_parser___ReduceAction250___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction251_parser___ReduceAction251___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction252_parser___ReduceAction252___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction253_parser___ReduceAction253___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction254_parser___ReduceAction254___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction255_parser___ReduceAction255___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction256_parser___ReduceAction256___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction257_parser___ReduceAction257___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction258_parser___ReduceAction258___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction259_parser___ReduceAction259___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction260_parser___ReduceAction260___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction261_parser___ReduceAction261___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction262_parser___ReduceAction262___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction263_parser___ReduceAction263___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction264_parser___ReduceAction264___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction265_parser___ReduceAction265___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction266_parser___ReduceAction266___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction267_parser___ReduceAction267___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction268_parser___ReduceAction268___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction269_parser___ReduceAction269___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction270___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction271___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction272___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction273___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction274___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction275___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction276___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction277___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction278_parser___ReduceAction278___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction279_parser___ReduceAction279___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction280_parser___ReduceAction280___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction281_parser___ReduceAction281___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction282_parser___ReduceAction282___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction283_parser___ReduceAction283___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction284_parser___ReduceAction284___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction285_parser___ReduceAction285___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction286_parser___ReduceAction286___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction287_parser___ReduceAction287___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction288_parser___ReduceAction288___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction289_parser___ReduceAction289___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction290_parser___ReduceAction290___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction291_parser___ReduceAction291___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction292_parser___ReduceAction292___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction293_parser___ReduceAction293___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction294_parser___ReduceAction294___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction295_parser___ReduceAction295___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction296_parser___ReduceAction296___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction297_parser___ReduceAction297___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction298_parser___ReduceAction298___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction299_parser___ReduceAction299___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction300_parser___ReduceAction300___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction301_parser___ReduceAction301___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction302_parser___ReduceAction302___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction303_parser___ReduceAction303___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction304___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction305_parser___ReduceAction305___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction306_parser___ReduceAction306___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction307_parser___ReduceAction307___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction308_parser___ReduceAction308___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction309_parser___ReduceAction309___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction310_parser___ReduceAction310___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction311_parser___ReduceAction311___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction312_parser___ReduceAction312___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction313_parser___ReduceAction313___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction314_parser___ReduceAction314___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction315___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction316_parser___ReduceAction316___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction317_parser___ReduceAction317___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction318_parser___ReduceAction318___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction319_parser___ReduceAction319___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction320_parser___ReduceAction320___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction321_parser___ReduceAction321___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction322_parser___ReduceAction322___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction323_parser___ReduceAction323___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction324_parser___ReduceAction324___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction325_parser___ReduceAction325___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction326_parser___ReduceAction326___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction327_parser___ReduceAction327___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction328_parser___ReduceAction328___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction329___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction330_parser___ReduceAction330___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction331_parser___ReduceAction331___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction332___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction333_parser___ReduceAction333___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction334___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction335_parser___ReduceAction335___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction336___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction337___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction338___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction339___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction340_parser___ReduceAction340___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction341_parser___ReduceAction341___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction342_parser___ReduceAction342___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction343_parser___ReduceAction343___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction344_parser___ReduceAction344___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction345_parser___ReduceAction345___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction346_parser___ReduceAction346___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction347_parser___ReduceAction347___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction348_parser___ReduceAction348___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction349___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction350_parser___ReduceAction350___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction351___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction352___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction353___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction354___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction355___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction356_parser___ReduceAction356___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction357_parser___ReduceAction357___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction358___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction359___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction360_parser___ReduceAction360___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction361_parser___ReduceAction361___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction362_parser___ReduceAction362___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction363_parser___ReduceAction363___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction364_parser___ReduceAction364___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction365_parser___ReduceAction365___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction366___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction367___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction368___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction369___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction370___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction371___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction372___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction373___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction374_parser___ReduceAction374___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction375_parser___ReduceAction375___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction376_parser___ReduceAction376___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction377_parser___ReduceAction377___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction378_parser___ReduceAction378___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction379_parser___ReduceAction379___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction380_parser___ReduceAction380___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction381_parser___ReduceAction381___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction382_parser___ReduceAction382___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction383_parser___ReduceAction383___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction384_parser___ReduceAction384___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction385___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction386_parser___ReduceAction386___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction387_parser___ReduceAction387___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction388_parser___ReduceAction388___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction389_parser___ReduceAction389___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction390___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction391_parser___ReduceAction391___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction392_parser___ReduceAction392___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction393_parser___ReduceAction393___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction394_parser___ReduceAction394___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction395___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction396___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction397_parser___ReduceAction397___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction398_parser___ReduceAction398___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction399_parser___ReduceAction399___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction400_parser___ReduceAction400___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction401_parser___ReduceAction401___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction402_parser___ReduceAction402___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction403_parser___ReduceAction403___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction404_parser___ReduceAction404___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction405_parser___ReduceAction405___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction406_parser___ReduceAction406___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction407_parser___ReduceAction407___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction408_parser___ReduceAction408___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction409_parser___ReduceAction409___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction410_parser___ReduceAction410___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction411_parser___ReduceAction411___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction412_parser___ReduceAction412___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction413_parser___ReduceAction413___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction414_parser___ReduceAction414___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction415_parser___ReduceAction415___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction416_parser___ReduceAction416___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction417_parser___ReduceAction417___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction418_parser___ReduceAction418___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction419___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction420_parser___ReduceAction420___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction421_parser___ReduceAction421___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction422_parser___ReduceAction422___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction423_parser___ReduceAction423___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction424_parser___ReduceAction424___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction425_parser___ReduceAction425___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction426_parser___ReduceAction426___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction427_parser___ReduceAction427___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction428_parser___ReduceAction428___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction429___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction430___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction431_parser___ReduceAction431___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction432___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction433___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction434_parser___ReduceAction434___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction435_parser___ReduceAction435___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction436_parser___ReduceAction436___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction437___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction438_parser___ReduceAction438___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction439___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction440_parser___ReduceAction440___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction441_parser___ReduceAction441___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction442_parser___ReduceAction442___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction443_parser___ReduceAction443___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction444_parser___ReduceAction444___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction445_parser___ReduceAction445___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction446_parser___ReduceAction446___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction447___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction448___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction449___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction450___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction451___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction452___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction453___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction454___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction455_parser___ReduceAction455___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction456___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction457___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction458_parser___ReduceAction458___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction459___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction460___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction461_parser___ReduceAction461___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction462___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction463___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction464___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction465_parser___ReduceAction465___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction466___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction467_parser___ReduceAction467___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction468_parser___ReduceAction468___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction469_parser___ReduceAction469___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction470_parser___ReduceAction470___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction471_parser___ReduceAction471___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction472_parser___ReduceAction472___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction473_parser___ReduceAction473___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction474_parser___ReduceAction474___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction475_parser___ReduceAction475___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction476_parser___ReduceAction476___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction477_parser___ReduceAction477___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction478_parser___ReduceAction478___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction479_parser___ReduceAction479___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction480_parser___ReduceAction480___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction481___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction482_parser___ReduceAction482___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction483_parser___ReduceAction483___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction484_parser___ReduceAction484___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction485___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction486___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction487___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction488___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction489___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction490___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction491___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction492___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction493_parser___ReduceAction493___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction494_parser___ReduceAction494___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction495_parser___ReduceAction495___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction496___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction497_parser___ReduceAction497___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction498_parser___ReduceAction498___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction499_parser___ReduceAction499___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction500_parser___ReduceAction500___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction501_parser___ReduceAction501___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction502_parser___ReduceAction502___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction503_parser___ReduceAction503___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction504_parser___ReduceAction504___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction505_parser___ReduceAction505___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction506_parser___ReduceAction506___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction507_parser___ReduceAction507___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction508_parser___ReduceAction508___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction509_parser___ReduceAction509___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction510_parser___ReduceAction510___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction511_parser___ReduceAction511___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction512_parser___ReduceAction512___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction513_parser___ReduceAction513___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction514_parser___ReduceAction514___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction515_parser___ReduceAction515___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction516_parser___ReduceAction516___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction517_parser___ReduceAction517___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction518_parser___ReduceAction518___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction519_parser___ReduceAction519___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction520_parser___ReduceAction520___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction521_parser___ReduceAction521___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction522_parser___ReduceAction522___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction523_parser___ReduceAction523___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction524_parser___ReduceAction524___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction525_parser___ReduceAction525___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction526___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction527_parser___ReduceAction527___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction528_parser___ReduceAction528___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction529_parser___ReduceAction529___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction530_parser___ReduceAction530___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction531_parser___ReduceAction531___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction532_parser___ReduceAction532___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction533_parser___ReduceAction533___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction534_parser___ReduceAction534___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction535_parser___ReduceAction535___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction536_parser___ReduceAction536___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction537_parser___ReduceAction537___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction538_parser___ReduceAction538___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction539_parser___ReduceAction539___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction540_parser___ReduceAction540___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction541_parser___ReduceAction541___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction542_parser___ReduceAction542___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction543_parser___ReduceAction543___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction544_parser___ReduceAction544___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction545_parser___ReduceAction545___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction546_parser___ReduceAction546___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction547_parser___ReduceAction547___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction548_parser___ReduceAction548___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction549_parser___ReduceAction549___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction550_parser___ReduceAction550___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction551_parser___ReduceAction551___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction552_parser___ReduceAction552___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction553_parser___ReduceAction553___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction554_parser___ReduceAction554___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction555_parser___ReduceAction555___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction556_parser___ReduceAction556___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction557_parser___ReduceAction557___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction558_parser___ReduceAction558___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction559_parser___ReduceAction559___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction560_parser___ReduceAction560___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction561_parser___ReduceAction561___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction562_parser___ReduceAction562___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction563_parser___ReduceAction563___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction564_parser___ReduceAction564___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction565_parser___ReduceAction565___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction566_parser___ReduceAction566___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction567_parser___ReduceAction567___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction568_parser___ReduceAction568___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction569_parser___ReduceAction569___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction570_parser___ReduceAction570___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction571_parser___ReduceAction571___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction572_parser___ReduceAction572___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction573_parser___ReduceAction573___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction574_parser___ReduceAction574___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction575_parser___ReduceAction575___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction576_parser___ReduceAction576___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction577_parser___ReduceAction577___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction578_parser___ReduceAction578___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction579_parser___ReduceAction579___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction580_parser___ReduceAction580___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction581_parser___ReduceAction581___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction582_parser___ReduceAction582___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction583_parser___ReduceAction583___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction584_parser___ReduceAction584___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction585_parser___ReduceAction585___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction586_parser___ReduceAction586___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction587_parser___ReduceAction587___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction588_parser___ReduceAction588___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction589_parser___ReduceAction589___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction590_parser___ReduceAction590___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction591_parser___ReduceAction591___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction592_parser___ReduceAction592___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction593_parser___ReduceAction593___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction594_parser___ReduceAction594___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction595_parser___ReduceAction595___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction596_parser___ReduceAction596___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction597_parser___ReduceAction597___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction598_parser___ReduceAction598___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction599_parser___ReduceAction599___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction600_parser___ReduceAction600___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction601_parser___ReduceAction601___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction602_parser___ReduceAction602___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction603_parser___ReduceAction603___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction604_parser___ReduceAction604___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction605_parser___ReduceAction605___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction606_parser___ReduceAction606___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction607_parser___ReduceAction607___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction608_parser___ReduceAction608___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction609_parser___ReduceAction609___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction610_parser___ReduceAction610___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction611_parser___ReduceAction611___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction612_parser___ReduceAction612___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction613_parser___ReduceAction613___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction614_parser___ReduceAction614___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction615_parser___ReduceAction615___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction616_parser___ReduceAction616___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction617_parser___ReduceAction617___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction618_parser___ReduceAction618___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction619_parser___ReduceAction619___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction620_parser___ReduceAction620___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction621_parser___ReduceAction621___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction622_parser___ReduceAction622___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction623_parser___ReduceAction623___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction624_parser___ReduceAction624___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction625_parser___ReduceAction625___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction626_parser___ReduceAction626___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction627_parser___ReduceAction627___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction628_parser___ReduceAction628___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction629_parser___ReduceAction629___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction630_parser___ReduceAction630___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction631_parser___ReduceAction631___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction632_parser___ReduceAction632___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction633_parser___ReduceAction633___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction634_parser___ReduceAction634___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction635_parser___ReduceAction635___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction636_parser___ReduceAction636___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction637_parser___ReduceAction637___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction638_parser___ReduceAction638___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction639_parser___ReduceAction639___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction640_parser___ReduceAction640___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction641_parser___ReduceAction641___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction642_parser___ReduceAction642___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction643_parser___ReduceAction643___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction644_parser___ReduceAction644___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction645_parser___ReduceAction645___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction646_parser___ReduceAction646___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction647_parser___ReduceAction647___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction648_parser___ReduceAction648___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction649_parser___ReduceAction649___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction650_parser___ReduceAction650___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction651_parser___ReduceAction651___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction652_parser___ReduceAction652___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction653_parser___ReduceAction653___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction654_parser___ReduceAction654___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction655_parser___ReduceAction655___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction656_parser___ReduceAction656___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction657_parser___ReduceAction657___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction658_parser___ReduceAction658___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction659_parser___ReduceAction659___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction660_parser___ReduceAction660___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction661_parser___ReduceAction661___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction662_parser___ReduceAction662___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction663_parser___ReduceAction663___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction664_parser___ReduceAction664___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction665_parser___ReduceAction665___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction666_parser___ReduceAction666___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction667_parser___ReduceAction667___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction668_parser___ReduceAction668___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction669_parser___ReduceAction669___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction670_parser___ReduceAction670___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction671_parser___ReduceAction671___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction672_parser___ReduceAction672___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction673_parser___ReduceAction673___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction674_parser___ReduceAction674___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction675_parser___ReduceAction675___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction676_parser___ReduceAction676___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction677_parser___ReduceAction677___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction678_parser___ReduceAction678___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction679_parser___ReduceAction679___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction680_parser___ReduceAction680___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction681_parser___ReduceAction681___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction682_parser___ReduceAction682___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction683_parser___ReduceAction683___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction684_parser___ReduceAction684___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction685_parser___ReduceAction685___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction686_parser___ReduceAction686___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction687_parser___ReduceAction687___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction688_parser___ReduceAction688___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction689_parser___ReduceAction689___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction690_parser___ReduceAction690___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction691_parser___ReduceAction691___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction692_parser___ReduceAction692___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction693_parser___ReduceAction693___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction694_parser___ReduceAction694___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction695_parser___ReduceAction695___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction696_parser___ReduceAction696___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction697_parser___ReduceAction697___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction698_parser___ReduceAction698___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction699_parser___ReduceAction699___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction700_parser___ReduceAction700___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction701_parser___ReduceAction701___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction702_parser___ReduceAction702___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction703_parser___ReduceAction703___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction704_parser___ReduceAction704___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction705_parser___ReduceAction705___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction706_parser___ReduceAction706___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction707_parser___ReduceAction707___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction708_parser___ReduceAction708___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction709_parser___ReduceAction709___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction710_parser___ReduceAction710___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction711_parser___ReduceAction711___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction712_parser___ReduceAction712___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction713_parser___ReduceAction713___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction714_parser___ReduceAction714___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction715_parser___ReduceAction715___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction716_parser___ReduceAction716___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction717_parser___ReduceAction717___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction718_parser___ReduceAction718___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction719_parser___ReduceAction719___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction720_parser___ReduceAction720___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction721_parser___ReduceAction721___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction722_parser___ReduceAction722___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction723_parser___ReduceAction723___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction724_parser___ReduceAction724___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction725_parser___ReduceAction725___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction726_parser___ReduceAction726___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction727_parser___ReduceAction727___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction728_parser___ReduceAction728___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction729_parser___ReduceAction729___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction730_parser___ReduceAction730___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction731_parser___ReduceAction731___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction732_parser___ReduceAction732___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction733_parser___ReduceAction733___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction734_parser___ReduceAction734___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction735_parser___ReduceAction735___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction736_parser___ReduceAction736___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction737_parser___ReduceAction737___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction738_parser___ReduceAction738___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction739_parser___ReduceAction739___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction740_parser___ReduceAction740___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction741_parser___ReduceAction741___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction742_parser___ReduceAction742___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction743_parser___ReduceAction743___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction744_parser___ReduceAction744___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction745_parser___ReduceAction745___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction746_parser___ReduceAction746___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction747_parser___ReduceAction747___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction748_parser___ReduceAction748___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction749_parser___ReduceAction749___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction750_parser___ReduceAction750___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction751_parser___ReduceAction751___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction752_parser___ReduceAction752___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction753_parser___ReduceAction753___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction754_parser___ReduceAction754___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction755_parser___ReduceAction755___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction756_parser___ReduceAction756___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction757_parser___ReduceAction757___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction758_parser___ReduceAction758___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction759_parser___ReduceAction759___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction760_parser___ReduceAction760___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction761_parser___ReduceAction761___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction762_parser___ReduceAction762___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction763_parser___ReduceAction763___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction764_parser___ReduceAction764___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction765_parser___ReduceAction765___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction766_parser___ReduceAction766___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction767_parser___ReduceAction767___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction768_parser___ReduceAction768___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction769_parser___ReduceAction769___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction770_parser___ReduceAction770___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction771_parser___ReduceAction771___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction772_parser___ReduceAction772___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction773_parser___ReduceAction773___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction774_parser___ReduceAction774___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction775_parser___ReduceAction775___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction776_parser___ReduceAction776___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction777_parser___ReduceAction777___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction778_parser___ReduceAction778___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction779_parser___ReduceAction779___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction780_parser___ReduceAction780___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction781_parser___ReduceAction781___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction782_parser___ReduceAction782___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction783_parser___ReduceAction783___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction784_parser___ReduceAction784___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction785_parser___ReduceAction785___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction786_parser___ReduceAction786___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction787_parser___ReduceAction787___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction788_parser___ReduceAction788___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction789_parser___ReduceAction789___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction790_parser___ReduceAction790___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction791_parser___ReduceAction791___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction792_parser___ReduceAction792___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction793_parser___ReduceAction793___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction794_parser___ReduceAction794___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction795_parser___ReduceAction795___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction796_parser___ReduceAction796___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction797_parser___ReduceAction797___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction798_parser___ReduceAction798___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction799_parser___ReduceAction799___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction800_parser___ReduceAction800___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction801_parser___ReduceAction801___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction802_parser___ReduceAction802___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction803_parser___ReduceAction803___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction804_parser___ReduceAction804___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction805_parser___ReduceAction805___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction806_parser___ReduceAction806___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction807_parser___ReduceAction807___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction808_parser___ReduceAction808___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction809_parser___ReduceAction809___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction810_parser___ReduceAction810___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction811_parser___ReduceAction811___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction812_parser___ReduceAction812___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction813_parser___ReduceAction813___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction814_parser___ReduceAction814___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction815_parser___ReduceAction815___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction816_parser___ReduceAction816___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction817_parser___ReduceAction817___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction818_parser___ReduceAction818___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction819_parser___ReduceAction819___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction820_parser___ReduceAction820___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction821_parser___ReduceAction821___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction822_parser___ReduceAction822___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction823_parser___ReduceAction823___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction824_parser___ReduceAction824___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction825_parser___ReduceAction825___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction826_parser___ReduceAction826___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction827_parser___ReduceAction827___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction828_parser___ReduceAction828___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction829_parser___ReduceAction829___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction830_parser___ReduceAction830___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction831_parser___ReduceAction831___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction832_parser___ReduceAction832___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction833_parser___ReduceAction833___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction834_parser___ReduceAction834___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction835_parser___ReduceAction835___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction836_parser___ReduceAction836___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction837_parser___ReduceAction837___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction838_parser___ReduceAction838___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction839_parser___ReduceAction839___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction840_parser___ReduceAction840___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction841_parser___ReduceAction841___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction842_parser___ReduceAction842___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction843_parser___ReduceAction843___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction844_parser___ReduceAction844___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction845_parser___ReduceAction845___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction846_parser___ReduceAction846___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction847_parser___ReduceAction847___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction848_parser___ReduceAction848___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction849_parser___ReduceAction849___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction850_parser___ReduceAction850___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction851_parser___ReduceAction851___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction852_parser___ReduceAction852___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction853_parser___ReduceAction853___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction854_parser___ReduceAction854___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction855_parser___ReduceAction855___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction856_parser___ReduceAction856___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction857_parser___ReduceAction857___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction858_parser___ReduceAction858___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction859_parser___ReduceAction859___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction860_parser___ReduceAction860___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction861_parser___ReduceAction861___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction862_parser___ReduceAction862___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction863_parser___ReduceAction863___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction864_parser___ReduceAction864___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction865_parser___ReduceAction865___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction866_parser___ReduceAction866___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction867_parser___ReduceAction867___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction868_parser___ReduceAction868___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction869_parser___ReduceAction869___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction870_parser___ReduceAction870___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction871_parser___ReduceAction871___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction872_parser___ReduceAction872___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction873_parser___ReduceAction873___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction874_parser___ReduceAction874___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction875_parser___ReduceAction875___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction876_parser___ReduceAction876___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction877_parser___ReduceAction877___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction878_parser___ReduceAction878___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction879_parser___ReduceAction879___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction880_parser___ReduceAction880___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction881_parser___ReduceAction881___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction882_parser___ReduceAction882___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction883_parser___ReduceAction883___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction884_parser___ReduceAction884___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction885_parser___ReduceAction885___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction886_parser___ReduceAction886___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction887_parser___ReduceAction887___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction888_parser___ReduceAction888___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction889_parser___ReduceAction889___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction890_parser___ReduceAction890___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction891_parser___ReduceAction891___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction892_parser___ReduceAction892___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction893_parser___ReduceAction893___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction894_parser___ReduceAction894___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction895_parser___ReduceAction895___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction896_parser___ReduceAction896___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction897_parser___ReduceAction897___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction898_parser___ReduceAction898___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction899_parser___ReduceAction899___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction900_parser___ReduceAction900___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction901_parser___ReduceAction901___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction902_parser___ReduceAction902___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction903_parser___ReduceAction903___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction904_parser___ReduceAction904___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction905_parser___ReduceAction905___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction906_parser___ReduceAction906___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction907_parser___ReduceAction907___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction908_parser___ReduceAction908___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction909_parser___ReduceAction909___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction910_parser___ReduceAction910___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction911_parser___ReduceAction911___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction912_parser___ReduceAction912___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction913_parser___ReduceAction913___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction914_parser___ReduceAction914___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction915_parser___ReduceAction915___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction916_parser___ReduceAction916___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction917_parser___ReduceAction917___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction918_parser___ReduceAction918___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction919_parser___ReduceAction919___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction920_parser___ReduceAction920___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction921_parser___ReduceAction921___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction922_parser___ReduceAction922___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction923_parser___ReduceAction923___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction924_parser___ReduceAction924___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction925_parser___ReduceAction925___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction926_parser___ReduceAction926___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction927_parser___ReduceAction927___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction928_parser___ReduceAction928___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction929_parser___ReduceAction929___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction930_parser___ReduceAction930___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction931_parser___ReduceAction931___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction932_parser___ReduceAction932___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction933_parser___ReduceAction933___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction934_parser___ReduceAction934___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction935_parser___ReduceAction935___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction936_parser___ReduceAction936___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction937_parser___ReduceAction937___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction938_parser___ReduceAction938___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction939_parser___ReduceAction939___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction940_parser___ReduceAction940___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction941_parser___ReduceAction941___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction942_parser___ReduceAction942___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction943_parser___ReduceAction943___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction944_parser___ReduceAction944___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction945_parser___ReduceAction945___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction946_parser___ReduceAction946___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction947_parser___ReduceAction947___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction948_parser___ReduceAction948___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction949_parser___ReduceAction949___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction950_parser___ReduceAction950___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction951_parser___ReduceAction951___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction952_parser___ReduceAction952___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction953_parser___ReduceAction953___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction954_parser___ReduceAction954___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction955_parser___ReduceAction955___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction956_parser___ReduceAction956___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction957_parser___ReduceAction957___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction958_parser___ReduceAction958___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction959_parser___ReduceAction959___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction960_parser___ReduceAction960___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction961_parser___ReduceAction961___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction962_parser___ReduceAction962___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction963_parser___ReduceAction963___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction964_parser___ReduceAction964___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction965_parser___ReduceAction965___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction966_parser___ReduceAction966___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction967_parser___ReduceAction967___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction968_parser___ReduceAction968___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction969_parser___ReduceAction969___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction970_parser___ReduceAction970___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction971_parser___ReduceAction971___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction972_parser___ReduceAction972___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction973_parser___ReduceAction973___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction974_parser___ReduceAction974___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction975_parser___ReduceAction975___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction976_parser___ReduceAction976___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction977_parser___ReduceAction977___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction978_parser___ReduceAction978___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction979_parser___ReduceAction979___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction980_parser___ReduceAction980___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction981_parser___ReduceAction981___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction982_parser___ReduceAction982___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction983_parser___ReduceAction983___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction984_parser___ReduceAction984___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction985_parser___ReduceAction985___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction986_parser___ReduceAction986___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction987_parser___ReduceAction987___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction988_parser___ReduceAction988___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction989_parser___ReduceAction989___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction990_parser___ReduceAction990___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction991_parser___ReduceAction991___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction992_parser___ReduceAction992___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction993_parser___ReduceAction993___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction994_parser___ReduceAction994___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction995_parser___ReduceAction995___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction996_parser___ReduceAction996___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction997_parser___ReduceAction997___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction998_parser___ReduceAction998___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction999_parser___ReduceAction999___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1000_parser___ReduceAction1000___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1001_parser___ReduceAction1001___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1002_parser___ReduceAction1002___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1003_parser___ReduceAction1003___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1004_parser___ReduceAction1004___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1005_parser___ReduceAction1005___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1006_parser___ReduceAction1006___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1007_parser___ReduceAction1007___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1008_parser___ReduceAction1008___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1009_parser___ReduceAction1009___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1010_parser___ReduceAction1010___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1011_parser___ReduceAction1011___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1012_parser___ReduceAction1012___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1013_parser___ReduceAction1013___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1014_parser___ReduceAction1014___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1015_parser___ReduceAction1015___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1016_parser___ReduceAction1016___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1017_parser___ReduceAction1017___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1018_parser___ReduceAction1018___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1019_parser___ReduceAction1019___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1020_parser___ReduceAction1020___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1021_parser___ReduceAction1021___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1022_parser___ReduceAction1022___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1023_parser___ReduceAction1023___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1024_parser___ReduceAction1024___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1025_parser___ReduceAction1025___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1026_parser___ReduceAction1026___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1027_parser___ReduceAction1027___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1028_parser___ReduceAction1028___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1029_parser___ReduceAction1029___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1030_parser___ReduceAction1030___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1031_parser___ReduceAction1031___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1032_parser___ReduceAction1032___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1033_parser___ReduceAction1033___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1034_parser___ReduceAction1034___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1035_parser___ReduceAction1035___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1036_parser___ReduceAction1036___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1037_parser___ReduceAction1037___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1038_parser___ReduceAction1038___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1039_parser___ReduceAction1039___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1040_parser___ReduceAction1040___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1041_parser___ReduceAction1041___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1042_parser___ReduceAction1042___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1043_parser___ReduceAction1043___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1044_parser___ReduceAction1044___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1045_parser___ReduceAction1045___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1046_parser___ReduceAction1046___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1047_parser___ReduceAction1047___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1048_parser___ReduceAction1048___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1049_parser___ReduceAction1049___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1050_parser___ReduceAction1050___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1051_parser___ReduceAction1051___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1052_parser___ReduceAction1052___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1053_parser___ReduceAction1053___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1054_parser___ReduceAction1054___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1055_parser___ReduceAction1055___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1056_parser___ReduceAction1056___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1057_parser___ReduceAction1057___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1058_parser___ReduceAction1058___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1059_parser___ReduceAction1059___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1060_parser___ReduceAction1060___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1061_parser___ReduceAction1061___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1062_parser___ReduceAction1062___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1063_parser___ReduceAction1063___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1064_parser___ReduceAction1064___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1065_parser___ReduceAction1065___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1066_parser___ReduceAction1066___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1067_parser___ReduceAction1067___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1068_parser___ReduceAction1068___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1069_parser___ReduceAction1069___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1070_parser___ReduceAction1070___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1071_parser___ReduceAction1071___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1072_parser___ReduceAction1072___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1073_parser___ReduceAction1073___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1074_parser___ReduceAction1074___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1075_parser___ReduceAction1075___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1076_parser___ReduceAction1076___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1077_parser___ReduceAction1077___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1078_parser___ReduceAction1078___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1079_parser___ReduceAction1079___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1080_parser___ReduceAction1080___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1081_parser___ReduceAction1081___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1082_parser___ReduceAction1082___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1083_parser___ReduceAction1083___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1084_parser___ReduceAction1084___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1085_parser___ReduceAction1085___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1086_parser___ReduceAction1086___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1087_parser___ReduceAction1087___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1088_parser___ReduceAction1088___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1089_parser___ReduceAction1089___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1090_parser___ReduceAction1090___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1091_parser___ReduceAction1091___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1092_parser___ReduceAction1092___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1093_parser___ReduceAction1093___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1094_parser___ReduceAction1094___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1095_parser___ReduceAction1095___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1096_parser___ReduceAction1096___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1097_parser___ReduceAction1097___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1098_parser___ReduceAction1098___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1099_parser___ReduceAction1099___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1100_parser___ReduceAction1100___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1101_parser___ReduceAction1101___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1102_parser___ReduceAction1102___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1103_parser___ReduceAction1103___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1104_parser___ReduceAction1104___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1105_parser___ReduceAction1105___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1106_parser___ReduceAction1106___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1107_parser___ReduceAction1107___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1108_parser___ReduceAction1108___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1109_parser___ReduceAction1109___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1110_parser___ReduceAction1110___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1111_parser___ReduceAction1111___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1112_parser___ReduceAction1112___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1113_parser___ReduceAction1113___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1114_parser___ReduceAction1114___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1115_parser___ReduceAction1115___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1116_parser___ReduceAction1116___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1117_parser___ReduceAction1117___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1118_parser___ReduceAction1118___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1119_parser___ReduceAction1119___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1120_parser___ReduceAction1120___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1121_parser___ReduceAction1121___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1122_parser___ReduceAction1122___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1123_parser___ReduceAction1123___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1124_parser___ReduceAction1124___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1125_parser___ReduceAction1125___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1126_parser___ReduceAction1126___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1127_parser___ReduceAction1127___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1128_parser___ReduceAction1128___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1129_parser___ReduceAction1129___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1130_parser___ReduceAction1130___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1131_parser___ReduceAction1131___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1132_parser___ReduceAction1132___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1133_parser___ReduceAction1133___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1134_parser___ReduceAction1134___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1135_parser___ReduceAction1135___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1136_parser___ReduceAction1136___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1137_parser___ReduceAction1137___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1138_parser___ReduceAction1138___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1139_parser___ReduceAction1139___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1140_parser___ReduceAction1140___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1141_parser___ReduceAction1141___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1142_parser___ReduceAction1142___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1143_parser___ReduceAction1143___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1144_parser___ReduceAction1144___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1145_parser___ReduceAction1145___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1146_parser___ReduceAction1146___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1147_parser___ReduceAction1147___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1148_parser___ReduceAction1148___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1149_parser___ReduceAction1149___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1150_parser___ReduceAction1150___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1151_parser___ReduceAction1151___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1152_parser___ReduceAction1152___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1153_parser___ReduceAction1153___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1154_parser___ReduceAction1154___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1155_parser___ReduceAction1155___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1156_parser___ReduceAction1156___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1157_parser___ReduceAction1157___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1158_parser___ReduceAction1158___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1159_parser___ReduceAction1159___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1160_parser___ReduceAction1160___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1161_parser___ReduceAction1161___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1162_parser___ReduceAction1162___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1163_parser___ReduceAction1163___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1164_parser___ReduceAction1164___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1165_parser___ReduceAction1165___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1166_parser___ReduceAction1166___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1167_parser___ReduceAction1167___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1168_parser___ReduceAction1168___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1169_parser___ReduceAction1169___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1170_parser___ReduceAction1170___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1171_parser___ReduceAction1171___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1172_parser___ReduceAction1172___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1173_parser___ReduceAction1173___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1174_parser___ReduceAction1174___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1175_parser___ReduceAction1175___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1176_parser___ReduceAction1176___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1177_parser___ReduceAction1177___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1178_parser___ReduceAction1178___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1179_parser___ReduceAction1179___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1180_parser___ReduceAction1180___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1181_parser___ReduceAction1181___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1182_parser___ReduceAction1182___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1183_parser___ReduceAction1183___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1184_parser___ReduceAction1184___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1185_parser___ReduceAction1185___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1186_parser___ReduceAction1186___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1187_parser___ReduceAction1187___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1188_parser___ReduceAction1188___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1189_parser___ReduceAction1189___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1190_parser___ReduceAction1190___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1191_parser___ReduceAction1191___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1192_parser___ReduceAction1192___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = NEW_ReduceAction1193_parser___ReduceAction1193___init(); + /* ./parser//parser.nit:156 */ + array___Array___add(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[1] = NEW_Array_array___Array___with_items(fra.me.REG[1]); + ATTR_parser___Parser____reduce_table(fra.me.REG[0]) = fra.me.REG[1]; + stack_frame_head = fra.me.prev; + return; +} +void parser___ComputeProdLocationVisitor___visit(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1381; + fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___visit; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + /* ./parser//parser.nit:1383 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL); + REGB0 = REGB1; } } - variable11 = variable4 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*listnode5*/==NIT_NULL) || VAL_ISA( variable11 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1660,6--38\n"); nit_exit(1);} - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable13 = variable3 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1663,6--38\n"); nit_exit(1);} - variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable13 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable14)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/, variable13 /*ppropdefnode7*/) /*Array::add*/; - } - variable15 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/ - variable14 = variable15; - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode5*/ == NIT_NULL /*null*/) || (( variable11 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable15)) { /*if*/ - variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable15)) { /*if*/ - variable8 = variable11 /*listnode5*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/, variable11 /*listnode5*/) /*Array::append*/; + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1384 */ + goto label1; + } else { + REGB0 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_Token, ID_Token)) /*cast Token*/; + /* ./parser//parser.nit:1385 */ + if (UNTAG_Bool(REGB0)) { + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + /* ./parser//parser.nit:1386 */ + if (UNTAG_Bool(REGB0)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1386); + nit_exit(1); + } + fra.me.REG[2] = CALL_parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]); + /* ./parser//parser.nit:1387 */ + ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2]; + REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1390 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_first_prods"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1390); + nit_exit(1); + } + fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]); + fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]); + while(1) { + REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]); + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:1391 */ + ATTR_parser___Prod____first_location(fra.me.REG[4]) = fra.me.REG[2]; + } else { + /* ./parser//parser.nit:1390 */ + goto label2; + } + CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]); + } + label2: while(0); + REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1393 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_first_prods"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1393); + nit_exit(1); + } + fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]); + CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[3])(fra.me.REG[3]); + REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1396 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_after_epsilons"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1396); + nit_exit(1); + } + fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]); + fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]); + while(1) { + REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]); + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]); + fra.me.REG[5] = fra.me.REG[2]; + fra.me.REG[6] = ATTR_parser___Prod____last_location(fra.me.REG[4]); + fra.me.REG[7] = CALL_location___Location___file(fra.me.REG[5])(fra.me.REG[5]); + REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + /* ./parser//parser.nit:1401 */ + if (UNTAG_Bool(REGB0)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1401); + nit_exit(1); + } + REGB0 = CALL_location___Location___line_end(fra.me.REG[6])(fra.me.REG[6]); + REGB1 = CALL_location___Location___line_start(fra.me.REG[5])(fra.me.REG[5]); + REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1401); + nit_exit(1); + } + REGB2 = CALL_location___Location___column_end(fra.me.REG[6])(fra.me.REG[6]); + REGB3 = CALL_location___Location___column_start(fra.me.REG[5])(fra.me.REG[5]); + fra.me.REG[7] = NEW_Location_location___Location___init(fra.me.REG[7], REGB0, REGB1, REGB2, REGB3); + CALL_parser_nodes___Prod___location__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[7]); + } else { + /* ./parser//parser.nit:1396 */ + goto label3; + } + CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]); + } + label3: while(0); + REGB3 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1403 */ + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_after_epsilons"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1403); + nit_exit(1); + } + fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]); + CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[3])(fra.me.REG[3]); + } else { + REGB3 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_Prod, ID_Prod)) /*cast Prod*/; + /* ./parser//parser.nit:1405 */ + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1405); + nit_exit(1); + } + REGB3 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1406 */ + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_first_prods"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1406); + nit_exit(1); + } + fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]); + array___Array___add(fra.me.REG[3], fra.me.REG[1]); + fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]); + /* ./parser//parser.nit:1409 */ + ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = NIT_NULL; + REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + /* ./parser//parser.nit:1410 */ + if (UNTAG_Bool(REGB3)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1410); + nit_exit(1); + } + CALL_parser_prod___ANode___visit_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]); + REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:1412 */ + if (UNTAG_Bool(REGB3)) { + } else { + REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + REGB2 = TAG_Bool(false); + REGB3 = REGB2; + } else { + REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB3 = REGB2; + } + } + if (UNTAG_Bool(REGB3)) { + ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[3]; + } + /* ./parser//parser.nit:1414 */ + ATTR_parser___Prod____last_location(fra.me.REG[1]) = fra.me.REG[2]; + fra.me.REG[3] = ATTR_parser___Prod____first_location(fra.me.REG[1]); + REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:1416 */ + if (UNTAG_Bool(REGB3)) { + } else { + REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + REGB2 = TAG_Bool(false); + REGB3 = REGB2; + } else { + REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB3 = REGB2; + } + } + REGB3 = TAG_Bool(!UNTAG_Bool(REGB3)); + if (UNTAG_Bool(REGB3)) { + REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:1418 */ + if (UNTAG_Bool(REGB3)) { + } else { + REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + REGB2 = TAG_Bool(false); + REGB3 = REGB2; + } else { + REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB3 = REGB2; + } + } + REGB3 = TAG_Bool(!UNTAG_Bool(REGB3)); + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1418); + nit_exit(1); + } + REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:1420 */ + if (UNTAG_Bool(REGB3)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420); + nit_exit(1); + } + fra.me.REG[7] = CALL_location___Location___file(fra.me.REG[3])(fra.me.REG[3]); + REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB3)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420); + nit_exit(1); + } + REGB3 = CALL_location___Location___line_start(fra.me.REG[3])(fra.me.REG[3]); + REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420); + nit_exit(1); + } + REGB2 = CALL_location___Location___line_end(fra.me.REG[2])(fra.me.REG[2]); + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420); + nit_exit(1); + } + REGB1 = CALL_location___Location___column_start(fra.me.REG[3])(fra.me.REG[3]); + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420); + nit_exit(1); + } + REGB0 = CALL_location___Location___column_end(fra.me.REG[2])(fra.me.REG[2]); + fra.me.REG[7] = NEW_Location_location___Location___init(fra.me.REG[7], REGB3, REGB2, REGB1, REGB0); + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1420); + nit_exit(1); + } + CALL_parser_nodes___Prod___location__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7]); + REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1422 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_before_epsilons"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1422); + nit_exit(1); + } + fra.me.REG[7] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]); + fra.me.REG[7] = CALL_abstract_collection___Collection___iterator(fra.me.REG[7])(fra.me.REG[7]); + while(1) { + REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[7])(fra.me.REG[7]); + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[7])(fra.me.REG[7]); + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:1425 */ + if (UNTAG_Bool(REGB0)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1425); + nit_exit(1); + } + fra.me.REG[5] = CALL_location___Location___file(fra.me.REG[3])(fra.me.REG[3]); + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1425); + nit_exit(1); + } + REGB0 = CALL_location___Location___line_start(fra.me.REG[3])(fra.me.REG[3]); + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1425); + nit_exit(1); + } + REGB1 = CALL_location___Location___line_start(fra.me.REG[3])(fra.me.REG[3]); + REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1425); + nit_exit(1); + } + REGB2 = CALL_location___Location___column_start(fra.me.REG[3])(fra.me.REG[3]); + REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB3)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1425); + nit_exit(1); + } + REGB3 = CALL_location___Location___column_start(fra.me.REG[3])(fra.me.REG[3]); + fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB0, REGB1, REGB2, REGB3); + CALL_parser_nodes___Prod___location__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); + } else { + /* ./parser//parser.nit:1422 */ + goto label4; + } + CALL_abstract_collection___Iterator___next(fra.me.REG[7])(fra.me.REG[7]); + } + label4: while(0); + REGB3 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1427 */ + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_before_epsilons"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1427); + nit_exit(1); + } + fra.me.REG[7] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]); + CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[7])(fra.me.REG[7]); + REGB3 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1429 */ + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_after_epsilons"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1429); + nit_exit(1); + } + fra.me.REG[7] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]); + fra.me.REG[7] = CALL_abstract_collection___Collection___iterator(fra.me.REG[7])(fra.me.REG[7]); + while(1) { + REGB3 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[7])(fra.me.REG[7]); + if (UNTAG_Bool(REGB3)) { + fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[7])(fra.me.REG[7]); + REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:1432 */ + if (UNTAG_Bool(REGB3)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1432); + nit_exit(1); + } + fra.me.REG[5] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]); + REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB3)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1432); + nit_exit(1); + } + REGB3 = CALL_location___Location___line_end(fra.me.REG[2])(fra.me.REG[2]); + REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1432); + nit_exit(1); + } + REGB2 = CALL_location___Location___line_end(fra.me.REG[2])(fra.me.REG[2]); + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1432); + nit_exit(1); + } + REGB1 = CALL_location___Location___column_end(fra.me.REG[2])(fra.me.REG[2]); + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1432); + nit_exit(1); + } + REGB0 = CALL_location___Location___column_end(fra.me.REG[2])(fra.me.REG[2]); + fra.me.REG[5] = NEW_Location_location___Location___init(fra.me.REG[5], REGB3, REGB2, REGB1, REGB0); + CALL_parser_nodes___Prod___location__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]); + } else { + /* ./parser//parser.nit:1429 */ + goto label5; + } + CALL_abstract_collection___Iterator___next(fra.me.REG[7])(fra.me.REG[7]); + } + label5: while(0); + REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1434 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_after_epsilons"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1434); + nit_exit(1); + } + fra.me.REG[7] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]); + CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[7])(fra.me.REG[7]); + } else { + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:1438 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + if (UNTAG_Bool(REGB0)) { + REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1440 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_before_epsilons"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1440); + nit_exit(1); + } + fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]); + array___Array___add(fra.me.REG[2], fra.me.REG[1]); + } else { + REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL); + /* ./parser//parser.nit:1443 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_need_after_epsilons"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1443); + nit_exit(1); + } + fra.me.REG[0] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]); + array___Array___add(fra.me.REG[0], fra.me.REG[1]); + } + } } } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode6*/) /*Array::add*/; - } - variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/, variable7 /*listnode4*/, variable8 /*listnode9*/); /*new AModule*/ - variable15 = variable16; - variable1 = variable15 /*pmodulenode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction22___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction22::init (src/parser//parser.nit:1688,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction22].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction22].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction23___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction23::action (src/parser//parser.nit:1692,2--1750:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable7 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1704,6--46\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*listnode3*/==NIT_NULL) || VAL_ISA( variable11 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1706,6--38\n"); nit_exit(1);} - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ == NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable12)) { /*if*/ - variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable12)) { /*if*/ - variable8 = variable11 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable11 /*listnode3*/) /*Array::append*/; - } + label1: while(0); + stack_frame_head = fra.me.prev; + return; +} +void parser___ComputeProdLocationVisitor___init(val_t p0, int* init_table){ + int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ComputeProdLocationVisitor].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos2]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1449; + fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1449 */ + CALL_parser_prod___Visitor___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos2] = 1; + return; +} +void parser___ReduceAction___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1454; + fra.me.meth = LOCATE_parser___ReduceAction___action; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./parser//parser.nit:1454 */ + fprintf(stderr, "Deferred method called"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1454); + nit_exit(1); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction___init(val_t p0, int* init_table){ + int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos3]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 0; + fra.me.meth = LOCATE_parser___ReduceAction___init; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + stack_frame_head = fra.me.prev; + init_table[itpos3] = 1; + return; +} +void parser___ReduceAction0___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1459; + fra.me.meth = LOCATE_parser___ReduceAction0___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[2], fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1470 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction0___init(val_t p0, int* init_table){ + int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction0].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos4]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1472; + fra.me.meth = LOCATE_parser___ReduceAction0___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1472 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos4] = 1; + return; +} +void parser___ReduceAction1___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1476; + fra.me.meth = LOCATE_parser___ReduceAction1___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:1483 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1483); + nit_exit(1); } - variable12 = variable5 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*listnode5*/==NIT_NULL) || VAL_ISA( variable12 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1715,6--38\n"); nit_exit(1);} - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable14 = variable4 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1718,6--38\n"); nit_exit(1);} - variable15 = variable2 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*listnode8*/==NIT_NULL) || VAL_ISA( variable15 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1720,6--38\n"); nit_exit(1);} - variable16 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable14 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable16)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode9*/, variable14 /*ppropdefnode7*/) /*Array::add*/; - } - variable16 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*listnode8*/ == NIT_NULL /*null*/) || (( variable15 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable15 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable15 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable16)) { /*if*/ - variable16 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable16)) { /*if*/ - variable13 = variable15 /*listnode8*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode9*/, variable15 /*listnode8*/) /*Array::append*/; - } + fra.me.REG[4] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1490 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1___init(val_t p0, int* init_table){ + int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos5]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1492; + fra.me.meth = LOCATE_parser___ReduceAction1___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1492 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos5] = 1; + return; +} +void parser___ReduceAction2___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1496; + fra.me.meth = LOCATE_parser___ReduceAction2___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1503 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1503); + nit_exit(1); } - variable17 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable13 /*listnode9*/); /*new ATopClassdef*/ - variable16 = variable17; - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode5*/ == NIT_NULL /*null*/) || (( variable12 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable17)) { /*if*/ - variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable17)) { /*if*/ - variable9 = variable12 /*listnode5*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/, variable12 /*listnode5*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:1505 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:1506 */ + } else { + /* ./parser//parser.nit:1508 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); } - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable16 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable16 /*pclassdefnode6*/) /*Array::add*/; - } - variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/, variable8 /*listnode4*/, variable9 /*listnode10*/); /*new AModule*/ - variable17 = variable18; - variable1 = variable17 /*pmodulenode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction23___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction23::init (src/parser//parser.nit:1752,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction23].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction23].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction24___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction24::action (src/parser//parser.nit:1756,2--1773:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable2 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable5 /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1763,6--40\n"); nit_exit(1);} - variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable5 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable5 /*pclassdefnode4*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable6)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode5*/, variable5 /*pclassdefnode4*/) /*Array::add*/; - } - variable7 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable3 /*listnode3*/, variable4 /*listnode5*/); /*new AModule*/ - variable6 = variable7; - variable1 = variable6 /*pmodulenode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction24___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction24::init (src/parser//parser.nit:1775,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction24].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction24].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction25___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction25::action (src/parser//parser.nit:1779,2--1799:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1787,6--46\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable7 /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1789,6--40\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable7 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode4*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable8)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/, variable7 /*pclassdefnode4*/) /*Array::add*/; - } - variable9 = NEW_parser_prod___AModule___init_amodule( variable6 /*ppackagedeclnode2*/, variable4 /*listnode3*/, variable5 /*listnode5*/); /*new AModule*/ - variable8 = variable9; - variable1 = variable8 /*pmodulenode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction25___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction25::init (src/parser//parser.nit:1801,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction25].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction25].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction26___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction26::action (src/parser//parser.nit:1805,2--1832:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1813,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ == NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/, variable6 /*listnode3*/) /*Array::append*/; - } + fra.me.REG[4] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1517 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction2___init(val_t p0, int* init_table){ + int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction2].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos6]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1519; + fra.me.meth = LOCATE_parser___ReduceAction2___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1519 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos6] = 1; + return; +} +void parser___ReduceAction3___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1523; + fra.me.meth = LOCATE_parser___ReduceAction3___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:1531 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1531); + nit_exit(1); } - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable7 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1822,6--40\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable7 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable8)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode6*/, variable7 /*pclassdefnode5*/) /*Array::add*/; - } - variable9 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable4 /*listnode4*/, variable5 /*listnode6*/); /*new AModule*/ - variable8 = variable9; - variable1 = variable8 /*pmodulenode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction26___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction26::init (src/parser//parser.nit:1834,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction26].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction26].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction27___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction27::action (src/parser//parser.nit:1838,2--1868:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable4 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1847,6--46\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1849,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable8 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1533 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1533); + nit_exit(1); } - variable9 = variable2 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1858,6--40\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable9 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable10)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/, variable9 /*pclassdefnode5*/) /*Array::add*/; - } - variable11 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/, variable5 /*listnode4*/, variable6 /*listnode6*/); /*new AModule*/ - variable10 = variable11; - variable1 = variable10 /*pmodulenode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction27___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction27::init (src/parser//parser.nit:1870,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction27].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction27].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction28___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction28::action (src/parser//parser.nit:1874,2--1901:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1882,6--38\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable7 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1884,6--40\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable5 = variable6 /*listnode4*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode6*/, variable6 /*listnode4*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:1535 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:1536 */ + } else { + /* ./parser//parser.nit:1538 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); } - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable7 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable7 /*pclassdefnode5*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable8)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable5 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode6*/, variable7 /*pclassdefnode5*/) /*Array::add*/; - } - variable9 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable4 /*listnode3*/, variable5 /*listnode6*/); /*new AModule*/ - variable8 = variable9; - variable1 = variable8 /*pmodulenode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction28___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction28::init (src/parser//parser.nit:1903,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction28].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction28].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction29___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction29::action (src/parser//parser.nit:1907,2--1937:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable4 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable7 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1916,6--46\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1918,6--38\n"); nit_exit(1);} - variable9 = variable2 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1920,6--40\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable8 /*listnode4*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable8 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1547 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction3___init(val_t p0, int* init_table){ + int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction3].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos7]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1549; + fra.me.meth = LOCATE_parser___ReduceAction3___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1549 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos7] = 1; + return; +} +void parser___ReduceAction4___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1553; + fra.me.meth = LOCATE_parser___ReduceAction4___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1560 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1560); + nit_exit(1); } - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable9 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode5*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable10)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/, variable9 /*pclassdefnode5*/) /*Array::add*/; - } - variable11 = NEW_parser_prod___AModule___init_amodule( variable7 /*ppackagedeclnode2*/, variable5 /*listnode3*/, variable6 /*listnode6*/); /*new AModule*/ - variable10 = variable11; - variable1 = variable10 /*pmodulenode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction29___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction29::init (src/parser//parser.nit:1939,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction29].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction29].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction30___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction30::action (src/parser//parser.nit:1943,2--1980:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable4 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1952,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ == NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable5 = variable7 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode4*/, variable7 /*listnode3*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:1562 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:1563 */ + } else { + /* ./parser//parser.nit:1565 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); } - variable8 = variable3 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*listnode5*/==NIT_NULL) || VAL_ISA( variable8 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1961,6--38\n"); nit_exit(1);} - variable9 = variable2 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable9 /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1963,6--40\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode5*/ == NIT_NULL /*null*/) || (( variable8 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode7*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable8 /*listnode5*/ /*listnode7=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode7*/, variable8 /*listnode5*/) /*Array::append*/; - } + fra.me.REG[4] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1574 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction4___init(val_t p0, int* init_table){ + int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction4].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos8]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1576; + fra.me.meth = LOCATE_parser___ReduceAction4___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1576 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos8] = 1; + return; +} +void parser___ReduceAction5___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1580; + fra.me.meth = LOCATE_parser___ReduceAction5___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:1588 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1588); + nit_exit(1); } - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable9 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode6*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable10)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode7*/, variable9 /*pclassdefnode6*/) /*Array::add*/; - } - variable11 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable5 /*listnode4*/, variable6 /*listnode7*/); /*new AModule*/ - variable10 = variable11; - variable1 = variable10 /*pmodulenode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction30___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction30::init (src/parser//parser.nit:1982,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction30].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction30].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction31___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction31::action (src/parser//parser.nit:1986,2--2026:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1996,6--46\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:1998,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable9 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1590 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1590); + nit_exit(1); } - variable10 = variable3 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*listnode5*/==NIT_NULL) || VAL_ISA( variable10 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2007,6--38\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2009,6--40\n"); nit_exit(1);} - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode5*/ == NIT_NULL /*null*/) || (( variable10 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable12)) { /*if*/ - variable12 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode7*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable12)) { /*if*/ - variable7 = variable10 /*listnode5*/ /*listnode7=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode7*/, variable10 /*listnode5*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:1592 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:1593 */ + } else { + /* ./parser//parser.nit:1595 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); } - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable11 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode6*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable12)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode7*/, variable11 /*pclassdefnode6*/) /*Array::add*/; - } - variable13 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/, variable6 /*listnode4*/, variable7 /*listnode7*/); /*new AModule*/ - variable12 = variable13; - variable1 = variable12 /*pmodulenode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction31___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction31::init (src/parser//parser.nit:2028,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction31].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction31].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction32___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction32::action (src/parser//parser.nit:2032,2--2063:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable4 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2042,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable8 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode6*/, variable8 /*ppropdefnode5*/) /*Array::add*/; - } - variable10 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable7 /*listnode6*/); /*new ATopClassdef*/ - variable9 = variable10; - variable10 = variable2 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable10 /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2050,6--40\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable9 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/, variable9 /*pclassdefnode4*/) /*Array::add*/; - } - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*pclassdefnode7*/ == NIT_NULL /*null*/) || (( variable10 /*pclassdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))( variable10 /*pclassdefnode7*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode8*/, variable10 /*pclassdefnode7*/) /*Array::add*/; - } - variable12 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable5 /*listnode3*/, variable6 /*listnode8*/); /*new AModule*/ - variable11 = variable12; - variable1 = variable11 /*pmodulenode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction32___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction32::init (src/parser//parser.nit:2065,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction32].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction32].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction33___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction33::action (src/parser//parser.nit:2069,2--2110:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable5 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2080,6--38\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*listnode6*/==NIT_NULL) || VAL_ISA( variable10 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2082,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable9 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode7*/, variable9 /*ppropdefnode5*/) /*Array::add*/; - } - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode6*/ == NIT_NULL /*null*/) || (( variable10 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode6*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode7*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable8 = variable10 /*listnode6*/ /*listnode7=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode7*/, variable10 /*listnode6*/) /*Array::append*/; - } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1604 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction5___init(val_t p0, int* init_table){ + int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction5].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos9]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1606; + fra.me.meth = LOCATE_parser___ReduceAction5___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1606 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos9] = 1; + return; +} +void parser___ReduceAction6___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1610; + fra.me.meth = LOCATE_parser___ReduceAction6___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1618 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1618); + nit_exit(1); } - variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable8 /*listnode7*/); /*new ATopClassdef*/ - variable11 = variable12; - variable12 = variable2 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2097,6--40\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable11 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable11 /*pclassdefnode4*/) /*Array::add*/; - } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode8*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode3*/, variable7 /*listnode9*/); /*new AModule*/ - variable13 = variable14; - variable1 = variable13 /*pmodulenode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction33___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction33::init (src/parser//parser.nit:2112,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction33].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction33].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction34___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction34::action (src/parser//parser.nit:2116,2--2150:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable8 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2126,6--46\n"); nit_exit(1);} - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable4 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2129,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode6*/, variable10 /*ppropdefnode5*/) /*Array::add*/; - } - variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode6*/); /*new ATopClassdef*/ - variable11 = variable12; - variable12 = variable2 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2137,6--40\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable11 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/, variable11 /*pclassdefnode4*/) /*Array::add*/; - } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode7*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode7*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode8*/, variable12 /*pclassdefnode7*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___AModule___init_amodule( variable8 /*ppackagedeclnode2*/, variable6 /*listnode3*/, variable7 /*listnode8*/); /*new AModule*/ - variable13 = variable14; - variable1 = variable13 /*pmodulenode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction34___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction34::init (src/parser//parser.nit:2152,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction34].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction34].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction35___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction35::action (src/parser//parser.nit:2156,2--2200:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable6 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2167,6--46\n"); nit_exit(1);} - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable11 = variable5 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2170,6--38\n"); nit_exit(1);} - variable12 = variable3 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*listnode6*/==NIT_NULL) || VAL_ISA( variable12 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2172,6--38\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode5*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode5*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode7*/, variable11 /*ppropdefnode5*/) /*Array::add*/; - } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode6*/ == NIT_NULL /*null*/) || (( variable12 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode6*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode7*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable13)) { /*if*/ - variable10 = variable12 /*listnode6*/ /*listnode7=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode7*/, variable12 /*listnode6*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:1620 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:1621 */ + } else { + /* ./parser//parser.nit:1623 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); } - variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode7*/); /*new ATopClassdef*/ - variable13 = variable14; - variable14 = variable2 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2187,6--40\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode4*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode4*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode4*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable13 /*pclassdefnode4*/) /*Array::add*/; - } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode8*/) /*Array::add*/; - } - variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/, variable7 /*listnode3*/, variable8 /*listnode9*/); /*new AModule*/ - variable15 = variable16; - variable1 = variable15 /*pmodulenode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction35___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction35::init (src/parser//parser.nit:2202,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction35].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction35].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction36___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction36::action (src/parser//parser.nit:2206,2--2247:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2216,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable6 = variable8 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1627 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1627); + nit_exit(1); } - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable4 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2226,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/, variable10 /*ppropdefnode6*/) /*Array::add*/; - } - variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/ - variable11 = variable12; - variable12 = variable2 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2234,6--40\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable11 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable11 /*pclassdefnode5*/) /*Array::add*/; - } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode8*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode4*/, variable7 /*listnode9*/); /*new AModule*/ - variable13 = variable14; - variable1 = variable13 /*pmodulenode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction36___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction36::init (src/parser//parser.nit:2249,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction36].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction36].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction37___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction37::action (src/parser//parser.nit:2253,2--2304:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable6 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2264,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable7 = variable9 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:1629 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:1630 */ + } else { + /* ./parser//parser.nit:1632 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); } - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable11 = variable5 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2274,6--38\n"); nit_exit(1);} - variable12 = variable3 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*listnode7*/==NIT_NULL) || VAL_ISA( variable12 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2276,6--38\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/, variable11 /*ppropdefnode6*/) /*Array::add*/; - } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode7*/ == NIT_NULL /*null*/) || (( variable12 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable13)) { /*if*/ - variable10 = variable12 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/, variable12 /*listnode7*/) /*Array::append*/; - } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1641 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction6___init(val_t p0, int* init_table){ + int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction6].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos10]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1643; + fra.me.meth = LOCATE_parser___ReduceAction6___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1643 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos10] = 1; + return; +} +void parser___ReduceAction7___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1647; + fra.me.meth = LOCATE_parser___ReduceAction7___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:1656 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1656); + nit_exit(1); } - variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/ - variable13 = variable14; - variable14 = variable2 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2291,6--40\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable13 /*pclassdefnode5*/) /*Array::add*/; - } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable14 /*pclassdefnode9*/) /*Array::add*/; - } - variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable7 /*listnode4*/, variable8 /*listnode10*/); /*new AModule*/ - variable15 = variable16; - variable1 = variable15 /*pmodulenode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction37___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction37::init (src/parser//parser.nit:2306,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction37].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction37].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction38___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction38::action (src/parser//parser.nit:2310,2--2354:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable6 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2321,6--46\n"); nit_exit(1);} - variable10 = variable5 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2323,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1658 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1658); + nit_exit(1); } - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable12 = variable4 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2333,6--38\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable11 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode7*/, variable12 /*ppropdefnode6*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode7*/); /*new ATopClassdef*/ - variable13 = variable14; - variable14 = variable2 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2341,6--40\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable13 /*pclassdefnode5*/) /*Array::add*/; - } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode8*/) /*Array::add*/; - } - variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/, variable7 /*listnode4*/, variable8 /*listnode9*/); /*new AModule*/ - variable15 = variable16; - variable1 = variable15 /*pmodulenode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction38___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction38::init (src/parser//parser.nit:2356,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction38].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction38].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction39___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction39::action (src/parser//parser.nit:2360,2--2414:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable7 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2372,6--46\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*listnode3*/==NIT_NULL) || VAL_ISA( variable11 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2374,6--38\n"); nit_exit(1);} - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ == NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable12)) { /*if*/ - variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable12)) { /*if*/ - variable8 = variable11 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable11 /*listnode3*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:1660 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:1661 */ + } else { + /* ./parser//parser.nit:1663 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); } - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable13 = variable5 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2384,6--38\n"); nit_exit(1);} - variable14 = variable3 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*listnode7*/==NIT_NULL) || VAL_ISA( variable14 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2386,6--38\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable13 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/, variable13 /*ppropdefnode6*/) /*Array::add*/; - } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode7*/ == NIT_NULL /*null*/) || (( variable14 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable14 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable15)) { /*if*/ - variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable15)) { /*if*/ - variable12 = variable14 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/, variable14 /*listnode7*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1667 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1667); + nit_exit(1); } - variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/ - variable15 = variable16; - variable16 = variable2 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2401,6--40\n"); nit_exit(1);} - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable15 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable15 /*pclassdefnode5*/) /*Array::add*/; - } - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable16 /*pclassdefnode9*/) /*Array::add*/; - } - variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/, variable8 /*listnode4*/, variable9 /*listnode10*/); /*new AModule*/ - variable17 = variable18; - variable1 = variable17 /*pmodulenode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction39___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction39::init (src/parser//parser.nit:2416,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction39].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction39].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction40___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction40::action (src/parser//parser.nit:2420,2--2461:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2430,6--38\n"); nit_exit(1);} - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable4 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable10 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2433,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable10 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable10 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable10 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode7*/, variable10 /*ppropdefnode6*/) /*Array::add*/; - } - variable12 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable9 /*listnode7*/); /*new ATopClassdef*/ - variable11 = variable12; - variable12 = variable2 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable12 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2441,6--40\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable13)) { /*if*/ - variable7 = variable8 /*listnode4*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode9*/, variable8 /*listnode4*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:1669 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:1670 */ + } else { + /* ./parser//parser.nit:1672 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable11 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable11 /*pclassdefnode5*/) /*Array::add*/; - } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable12 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable12 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode9*/, variable12 /*pclassdefnode8*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable6 /*listnode3*/, variable7 /*listnode9*/); /*new AModule*/ - variable13 = variable14; - variable1 = variable13 /*pmodulenode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction40___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction40::init (src/parser//parser.nit:2463,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction40].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction40].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction41___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction41::action (src/parser//parser.nit:2467,2--2518:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable6 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*listnode4*/==NIT_NULL) || VAL_ISA( variable9 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2478,6--38\n"); nit_exit(1);} - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable11 = variable5 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable11 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2481,6--38\n"); nit_exit(1);} - variable12 = variable3 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*listnode7*/==NIT_NULL) || VAL_ISA( variable12 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2483,6--38\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable11 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable11 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode8*/, variable11 /*ppropdefnode6*/) /*Array::add*/; - } - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode7*/ == NIT_NULL /*null*/) || (( variable12 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable13)) { /*if*/ - variable10 = variable12 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/, variable12 /*listnode7*/) /*Array::append*/; - } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1681 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction7___init(val_t p0, int* init_table){ + int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction7].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos11]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1683; + fra.me.meth = LOCATE_parser___ReduceAction7___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1683 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos11] = 1; + return; +} +void parser___ReduceAction8___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1687; + fra.me.meth = LOCATE_parser___ReduceAction8___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:1696 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1696); + nit_exit(1); } - variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable10 /*listnode8*/); /*new ATopClassdef*/ - variable13 = variable14; - variable14 = variable2 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2498,6--40\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ == NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable15)) { /*if*/ - variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable15)) { /*if*/ - variable8 = variable9 /*listnode4*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/, variable9 /*listnode4*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:1697 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable13 /*pclassdefnode5*/) /*Array::add*/; - } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable14 /*pclassdefnode9*/) /*Array::add*/; - } - variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable7 /*listnode3*/, variable8 /*listnode10*/); /*new AModule*/ - variable15 = variable16; - variable1 = variable15 /*pmodulenode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction41___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction41::init (src/parser//parser.nit:2520,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction41].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction41].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction42___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction42::action (src/parser//parser.nit:2524,2--2568:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable6 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable9 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2535,6--46\n"); nit_exit(1);} - variable10 = variable5 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2537,6--38\n"); nit_exit(1);} - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable12 = variable4 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2540,6--38\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable11 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode7*/, variable12 /*ppropdefnode6*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode7*/); /*new ATopClassdef*/ - variable13 = variable14; - variable14 = variable2 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2548,6--40\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable15)) { /*if*/ - variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable15)) { /*if*/ - variable8 = variable10 /*listnode4*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode9*/, variable10 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1698 */ + array___Array___add(fra.me.REG[5], fra.me.REG[2]); } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable13 /*pclassdefnode5*/) /*Array::add*/; - } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode8*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode8*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode8*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode9*/, variable14 /*pclassdefnode8*/) /*Array::add*/; - } - variable16 = NEW_parser_prod___AModule___init_amodule( variable9 /*ppackagedeclnode2*/, variable7 /*listnode3*/, variable8 /*listnode9*/); /*new AModule*/ - variable15 = variable16; - variable1 = variable15 /*pmodulenode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction42___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction42::init (src/parser//parser.nit:2570,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction42].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction42].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction43___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction43::action (src/parser//parser.nit:2574,2--2628:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable7 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2586,6--46\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*listnode4*/==NIT_NULL) || VAL_ISA( variable11 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2588,6--38\n"); nit_exit(1);} - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable13 = variable5 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2591,6--38\n"); nit_exit(1);} - variable14 = variable3 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*listnode7*/==NIT_NULL) || VAL_ISA( variable14 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2593,6--38\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode6*/ == NIT_NULL /*null*/) || (( variable13 /*ppropdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode6*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode8*/, variable13 /*ppropdefnode6*/) /*Array::add*/; - } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode7*/ == NIT_NULL /*null*/) || (( variable14 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable14 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable15)) { /*if*/ - variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable15)) { /*if*/ - variable12 = variable14 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/, variable14 /*listnode7*/) /*Array::append*/; + fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]); + REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + /* ./parser//parser.nit:1703 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL); + REGB0 = REGB1; } } - variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode8*/); /*new ATopClassdef*/ - variable15 = variable16; - variable16 = variable2 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2608,6--40\n"); nit_exit(1);} - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode4*/ == NIT_NULL /*null*/) || (( variable11 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable17)) { /*if*/ - variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable17)) { /*if*/ - variable9 = variable11 /*listnode4*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/, variable11 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1704 */ + array___Array___add(fra.me.REG[4], fra.me.REG[5]); } - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode5*/ == NIT_NULL /*null*/) || (( variable15 /*pclassdefnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode5*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable15 /*pclassdefnode5*/) /*Array::add*/; - } - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable16 /*pclassdefnode9*/) /*Array::add*/; - } - variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/, variable8 /*listnode3*/, variable9 /*listnode10*/); /*new AModule*/ - variable17 = variable18; - variable1 = variable17 /*pmodulenode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction43___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction43::init (src/parser//parser.nit:2630,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction43].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction43].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction44___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction44::action (src/parser//parser.nit:2634,2--2685:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable6 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2645,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable7 = variable9 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/; - } + fra.me.REG[4] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1712 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction8___init(val_t p0, int* init_table){ + int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction8].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos12]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1714; + fra.me.meth = LOCATE_parser___ReduceAction8___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1714 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos12] = 1; + return; +} +void parser___ReduceAction9___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1718; + fra.me.meth = LOCATE_parser___ReduceAction9___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:1728 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1728); + nit_exit(1); } - variable10 = variable5 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*listnode5*/==NIT_NULL) || VAL_ISA( variable10 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2654,6--38\n"); nit_exit(1);} - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable12 = variable4 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2657,6--38\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable12 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable12 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable12 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable13)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable11 /*listnode8*/, variable12 /*ppropdefnode7*/) /*Array::add*/; - } - variable14 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable11 /*listnode8*/); /*new ATopClassdef*/ - variable13 = variable14; - variable14 = variable2 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2665,6--40\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode5*/ == NIT_NULL /*null*/) || (( variable10 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable15)) { /*if*/ - variable15 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable15)) { /*if*/ - variable8 = variable10 /*listnode5*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode10*/, variable10 /*listnode5*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1730 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1730); + nit_exit(1); } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable13 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable13 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable13 /*pclassdefnode6*/) /*Array::add*/; - } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable14 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable14 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode10*/, variable14 /*pclassdefnode9*/) /*Array::add*/; - } - variable16 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable7 /*listnode4*/, variable8 /*listnode10*/); /*new AModule*/ - variable15 = variable16; - variable1 = variable15 /*pmodulenode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction44___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction44::init (src/parser//parser.nit:2687,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction44].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction44].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction45___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction45::action (src/parser//parser.nit:2691,2--2752:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable7 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2703,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable8 = variable10 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:1731 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; } } - variable11 = variable6 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*listnode5*/==NIT_NULL) || VAL_ISA( variable11 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2712,6--38\n"); nit_exit(1);} - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable13 = variable5 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2715,6--38\n"); nit_exit(1);} - variable14 = variable3 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*listnode8*/==NIT_NULL) || VAL_ISA( variable14 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2717,6--38\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable13 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable13 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable13 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable12 /*listnode9*/, variable13 /*ppropdefnode7*/) /*Array::add*/; - } - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*listnode8*/ == NIT_NULL /*null*/) || (( variable14 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable14 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable14 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable15)) { /*if*/ - variable15 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable15)) { /*if*/ - variable12 = variable14 /*listnode8*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode9*/, variable14 /*listnode8*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1732 */ + array___Array___add(fra.me.REG[6], fra.me.REG[3]); } - variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable12 /*listnode9*/); /*new ATopClassdef*/ - variable15 = variable16; - variable16 = variable2 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2732,6--41\n"); nit_exit(1);} - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode5*/ == NIT_NULL /*null*/) || (( variable11 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable17)) { /*if*/ - variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode11*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable17)) { /*if*/ - variable9 = variable11 /*listnode5*/ /*listnode11=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode11*/, variable11 /*listnode5*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:1735 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:1736 */ + } else { + /* ./parser//parser.nit:1738 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); } - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable15 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode11*/, variable15 /*pclassdefnode6*/) /*Array::add*/; - } - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode10*/ == NIT_NULL /*null*/) || (( variable16 /*pclassdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode10*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode11*/, variable16 /*pclassdefnode10*/) /*Array::add*/; - } - variable18 = NEW_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable8 /*listnode4*/, variable9 /*listnode11*/); /*new AModule*/ - variable17 = variable18; - variable1 = variable17 /*pmodulenode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction45___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction45::init (src/parser//parser.nit:2754,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction45].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction45].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction46___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction46::action (src/parser//parser.nit:2758,2--2812:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable7 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable10 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2770,6--46\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*listnode3*/==NIT_NULL) || VAL_ISA( variable11 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2772,6--38\n"); nit_exit(1);} - variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*listnode3*/ == NIT_NULL /*null*/) || (( variable11 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable11 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable11 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable12)) { /*if*/ - variable12 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable12)) { /*if*/ - variable8 = variable11 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable11 /*listnode3*/) /*Array::append*/; + fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]); + REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + /* ./parser//parser.nit:1744 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL); + REGB0 = REGB1; } } - variable12 = variable5 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*listnode5*/==NIT_NULL) || VAL_ISA( variable12 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2781,6--38\n"); nit_exit(1);} - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable14 = variable4 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2784,6--38\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable14 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable14 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode8*/, variable14 /*ppropdefnode7*/) /*Array::add*/; - } - variable16 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable13 /*listnode8*/); /*new ATopClassdef*/ - variable15 = variable16; - variable16 = variable2 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2792,6--40\n"); nit_exit(1);} - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode5*/ == NIT_NULL /*null*/) || (( variable12 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable17)) { /*if*/ - variable17 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable17)) { /*if*/ - variable9 = variable12 /*listnode5*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode10*/, variable12 /*listnode5*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1745 */ + array___Array___add(fra.me.REG[5], fra.me.REG[6]); } - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable15 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable15 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable15 /*pclassdefnode6*/) /*Array::add*/; - } - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*pclassdefnode9*/ == NIT_NULL /*null*/) || (( variable16 /*pclassdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable16 /*pclassdefnode9*/,COLOR_kernel___Object_____eqeq))( variable16 /*pclassdefnode9*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable9 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable9 /*listnode10*/, variable16 /*pclassdefnode9*/) /*Array::add*/; - } - variable18 = NEW_parser_prod___AModule___init_amodule( variable10 /*ppackagedeclnode2*/, variable8 /*listnode4*/, variable9 /*listnode10*/); /*new AModule*/ - variable17 = variable18; - variable1 = variable17 /*pmodulenode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction46___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction46::init (src/parser//parser.nit:2814,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction46].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction46].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction47___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction47::action (src/parser//parser.nit:2818,2--2882:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable11 = variable8 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable11 /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2831,6--46\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*listnode3*/==NIT_NULL) || VAL_ISA( variable12 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2833,6--38\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode3*/ == NIT_NULL /*null*/) || (( variable12 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable13)) { /*if*/ - variable9 = variable12 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode4*/, variable12 /*listnode3*/) /*Array::append*/; - } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1753 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction9___init(val_t p0, int* init_table){ + int itpos13 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction9].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos13]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1755; + fra.me.meth = LOCATE_parser___ReduceAction9___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1755 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos13] = 1; + return; +} +void parser___ReduceAction10___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1759; + fra.me.meth = LOCATE_parser___ReduceAction10___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:1768 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1768); + nit_exit(1); } - variable13 = variable6 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2842,6--38\n"); nit_exit(1);} - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable15 = variable5 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2845,6--38\n"); nit_exit(1);} - variable16 = variable3 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*listnode8*/==NIT_NULL) || VAL_ISA( variable16 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2847,6--38\n"); nit_exit(1);} - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*ppropdefnode7*/ == NIT_NULL /*null*/) || (( variable15 /*ppropdefnode7*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*ppropdefnode7*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*ppropdefnode7*/,COLOR_kernel___Object_____eqeq))( variable15 /*ppropdefnode7*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode9*/, variable15 /*ppropdefnode7*/) /*Array::add*/; - } - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*listnode8*/ == NIT_NULL /*null*/) || (( variable16 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable16 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable16 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable17)) { /*if*/ - variable17 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable17)) { /*if*/ - variable14 = variable16 /*listnode8*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/, variable16 /*listnode8*/) /*Array::append*/; - } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:1771 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1771); + nit_exit(1); } - variable18 = NEW_parser_prod___ATopClassdef___init_atopclassdef( variable14 /*listnode9*/); /*new ATopClassdef*/ - variable17 = variable18; - variable18 = variable2 /*nodearraylist7*/; - variable19 = TAG_Bool(( variable18 /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable18 /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2862,6--41\n"); nit_exit(1);} - variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ == NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable19)) { /*if*/ - variable19 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode11*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable19)) { /*if*/ - variable10 = variable13 /*listnode5*/ /*listnode11=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode11*/, variable13 /*listnode5*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:1772 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*pclassdefnode6*/ == NIT_NULL /*null*/) || (( variable17 /*pclassdefnode6*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable17 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable17 /*pclassdefnode6*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable17 /*pclassdefnode6*/,COLOR_kernel___Object_____eqeq))( variable17 /*pclassdefnode6*/, NIT_NULL /*null*/) /*ATopClassdef::==*/))))))); - if (UNTAG_Bool(variable19)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode11*/, variable17 /*pclassdefnode6*/) /*Array::add*/; - } - variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*pclassdefnode10*/ == NIT_NULL /*null*/) || (( variable18 /*pclassdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable18 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable18 /*pclassdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable18 /*pclassdefnode10*/,COLOR_kernel___Object_____eqeq))( variable18 /*pclassdefnode10*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable19)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable10 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable10 /*listnode11*/, variable18 /*pclassdefnode10*/) /*Array::add*/; - } - variable20 = NEW_parser_prod___AModule___init_amodule( variable11 /*ppackagedeclnode2*/, variable9 /*listnode4*/, variable10 /*listnode11*/); /*new AModule*/ - variable19 = variable20; - variable1 = variable19 /*pmodulenode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(0)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction47___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction47::init (src/parser//parser.nit:2884,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction47].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction47].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction48___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction48::action (src/parser//parser.nit:2888,2--2908:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable7 = variable6 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2897,6--30\n"); nit_exit(1);} - variable8 = variable5 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*tkwpackagenode3*/==NIT_NULL) || VAL_ISA( variable8 /*tkwpackagenode3*/, COLOR_TKwpackage, ID_TKwpackage)) /*cast TKwpackage*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2899,6--42\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2901,6--28\n"); nit_exit(1);} - variable11 = NEW_parser_prod___APackagedecl___init_apackagedecl( variable7 /*pdocnode2*/, variable8 /*tkwpackagenode3*/, variable9 /*tidnode4*/); /*new APackagedecl*/ - variable10 = variable11; - variable1 = variable10 /*ppackagedeclnode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(1)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction48___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction48::init (src/parser//parser.nit:2910,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction48].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction48].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction49___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction49::action (src/parser//parser.nit:2914,2--2935:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable6 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2924,6--44\n"); nit_exit(1);} - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2926,6--40\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2928,6--28\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AImport___init_aimport( variable8 /*pvisibilitynode2*/, variable9 /*tkwimportnode3*/, variable10 /*tidnode4*/); /*new AImport*/ - variable11 = variable12; - variable1 = variable11 /*pimportnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(2)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction49___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction49::init (src/parser//parser.nit:2937,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction49].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction49].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction50___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction50::action (src/parser//parser.nit:2941,2--2962:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable6 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2951,6--44\n"); nit_exit(1);} - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2953,6--40\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*tkwendnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwendnode4*/, COLOR_TKwend, ID_TKwend)) /*cast TKwend*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2955,6--34\n"); nit_exit(1);} - variable12 = NEW_parser_prod___ANoImport___init_anoimport( variable8 /*pvisibilitynode2*/, variable9 /*tkwimportnode3*/, variable10 /*tkwendnode4*/); /*new ANoImport*/ - variable11 = variable12; - variable1 = variable11 /*pimportnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(2)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction50___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction50::init (src/parser//parser.nit:2964,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction50].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction50].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction51___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction51::action (src/parser//parser.nit:2968,2--2982:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:2974,6--38\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable4 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode2*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode3*/, variable4 /*ppropdefnode2*/) /*Array::add*/; - } - variable6 = NEW_parser_prod___AMainClassdef___init_amainclassdef( variable3 /*listnode3*/); /*new AMainClassdef*/ - variable5 = variable6; - variable1 = variable5 /*pclassdefnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(3)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction51___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction51::init (src/parser//parser.nit:2984,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction51].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction51].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction52___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction52::action (src/parser//parser.nit:2988,2--2993:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable1 = NIT_NULL /*null*/ /*node_list=*/; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(3)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction52___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction52::init (src/parser//parser.nit:2995,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction52].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction52].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction53___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction53::action (src/parser//parser.nit:2999,2--3019:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3007,6--32\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable6 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode4*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/, variable6 /*pexprnode4*/) /*Array::add*/; - } - variable8 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable5 /*listnode5*/); /*new ABlockExpr*/ - variable7 = variable8; - variable9 = NEW_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/, variable7 /*pexprnode3*/); /*new AMainMethPropdef*/ - variable8 = variable9; - variable1 = variable8 /*ppropdefnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(4)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction53___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction53::init (src/parser//parser.nit:3021,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction53].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction53].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction54___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction54::action (src/parser//parser.nit:3025,2--3055:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable4 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3034,6--32\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*listnode5*/==NIT_NULL) || VAL_ISA( variable8 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3036,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable7 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode4*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode6*/, variable7 /*pexprnode4*/) /*Array::add*/; - } - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode5*/ == NIT_NULL /*null*/) || (( variable8 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable6 = variable8 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable8 /*listnode5*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1773 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); } - variable10 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode6*/); /*new ABlockExpr*/ - variable9 = variable10; - variable11 = NEW_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/, variable9 /*pexprnode3*/); /*new AMainMethPropdef*/ - variable10 = variable11; - variable1 = variable10 /*ppropdefnode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(4)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction54___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction54::init (src/parser//parser.nit:3057,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction54].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction54].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction55___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction55::action (src/parser//parser.nit:3061,2--3093:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable12 = variable8 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3075,6--30\n"); nit_exit(1);} - variable13 = variable7 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3077,6--44\n"); nit_exit(1);} - variable14 = variable6 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable14 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3079,6--42\n"); nit_exit(1);} - variable15 = variable4 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3081,6--38\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AClassdef___init_aclassdef( variable12 /*pdocnode2*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode4*/, variable14 /*pclasskindnode5*/, variable15 /*tclassidnode6*/, variable9 /*listnode7*/, variable10 /*listnode8*/, variable11 /*listnode9*/); /*new AClassdef*/ - variable16 = variable17; - variable1 = variable16 /*pclassdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction55___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction55::init (src/parser//parser.nit:3095,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction55].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction55].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction56___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction56::action (src/parser//parser.nit:3099,2--3134:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable13 = variable9 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3114,6--30\n"); nit_exit(1);} - variable14 = variable8 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3116,6--38\n"); nit_exit(1);} - variable15 = variable7 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3118,6--44\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3120,6--42\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable17 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3122,6--38\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/, variable14 /*tkwredefnode3*/, variable15 /*pvisibilitynode4*/, variable16 /*pclasskindnode5*/, variable17 /*tclassidnode6*/, variable10 /*listnode7*/, variable11 /*listnode8*/, variable12 /*listnode9*/); /*new AClassdef*/ - variable18 = variable19; - variable1 = variable18 /*pclassdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction56___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction56::init (src/parser//parser.nit:3136,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction56].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction56].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction57___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction57::action (src/parser//parser.nit:3140,2--3182:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable13 = variable9 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3155,6--30\n"); nit_exit(1);} - variable14 = variable8 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3157,6--44\n"); nit_exit(1);} - variable15 = variable7 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable15 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3159,6--42\n"); nit_exit(1);} - variable16 = variable5 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3161,6--38\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*listnode7*/==NIT_NULL) || VAL_ISA( variable17 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3163,6--38\n"); nit_exit(1);} - variable18 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*listnode7*/ == NIT_NULL /*null*/) || (( variable17 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable17 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable17 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable18)) { /*if*/ - variable18 = ((array___AbstractArray___is_empty_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable10 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable18)) { /*if*/ - variable10 = variable17 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable10 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable10 /*listnode8*/, variable17 /*listnode7*/) /*Array::append*/; + fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]); + REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + /* ./parser//parser.nit:1778 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL); + REGB0 = REGB1; } } - variable19 = NEW_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/, NIT_NULL /*null*/, variable14 /*pvisibilitynode4*/, variable15 /*pclasskindnode5*/, variable16 /*tclassidnode6*/, variable10 /*listnode8*/, variable11 /*listnode9*/, variable12 /*listnode10*/); /*new AClassdef*/ - variable18 = variable19; - variable1 = variable18 /*pclassdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction57___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction57::init (src/parser//parser.nit:3184,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction57].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction57].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction58___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction58::action (src/parser//parser.nit:3188,2--3233:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable14 = variable10 /*nodearraylist1*/; - variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3204,6--30\n"); nit_exit(1);} - variable15 = variable9 /*nodearraylist2*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3206,6--38\n"); nit_exit(1);} - variable16 = variable8 /*nodearraylist3*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3208,6--44\n"); nit_exit(1);} - variable17 = variable7 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3210,6--42\n"); nit_exit(1);} - variable18 = variable5 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3212,6--38\n"); nit_exit(1);} - variable19 = variable4 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*listnode7*/==NIT_NULL) || VAL_ISA( variable19 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3214,6--38\n"); nit_exit(1);} - variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode7*/ == NIT_NULL /*null*/) || (( variable19 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable20)) { /*if*/ - variable20 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable20)) { /*if*/ - variable11 = variable19 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/, variable19 /*listnode7*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1779 */ + array___Array___add(fra.me.REG[5], fra.me.REG[6]); } - variable21 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/, variable15 /*tkwredefnode3*/, variable16 /*pvisibilitynode4*/, variable17 /*pclasskindnode5*/, variable18 /*tclassidnode6*/, variable11 /*listnode8*/, variable12 /*listnode9*/, variable13 /*listnode10*/); /*new AClassdef*/ - variable20 = variable21; - variable1 = variable20 /*pclassdefnode1*/ /*node_list=*/; - variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction58___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction58::init (src/parser//parser.nit:3235,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction58].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction58].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction59___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction59::action (src/parser//parser.nit:3239,2--3281:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = NEW_array___Array___init(); /*new Array[Object]*/ - variable10 = variable11; - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable13 = variable9 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3254,6--30\n"); nit_exit(1);} - variable14 = variable8 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3256,6--44\n"); nit_exit(1);} - variable15 = variable7 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable15 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3258,6--42\n"); nit_exit(1);} - variable16 = variable5 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3260,6--38\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*listnode8*/==NIT_NULL) || VAL_ISA( variable17 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3262,6--38\n"); nit_exit(1);} - variable18 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable17 /*listnode8*/ == NIT_NULL /*null*/) || (( variable17 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable17 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable17 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable18)) { /*if*/ - variable18 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable18)) { /*if*/ - variable11 = variable17 /*listnode8*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode9*/, variable17 /*listnode8*/) /*Array::append*/; - } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1787 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction10___init(val_t p0, int* init_table){ + int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction10].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos14]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1789; + fra.me.meth = LOCATE_parser___ReduceAction10___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1789 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos14] = 1; + return; +} +void parser___ReduceAction11___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1793; + fra.me.meth = LOCATE_parser___ReduceAction11___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:1803 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1803); + nit_exit(1); } - variable19 = NEW_parser_prod___AClassdef___init_aclassdef( variable13 /*pdocnode2*/, NIT_NULL /*null*/, variable14 /*pvisibilitynode4*/, variable15 /*pclasskindnode5*/, variable16 /*tclassidnode6*/, variable10 /*listnode7*/, variable11 /*listnode9*/, variable12 /*listnode10*/); /*new AClassdef*/ - variable18 = variable19; - variable1 = variable18 /*pclassdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction59___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction59::init (src/parser//parser.nit:3283,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction59].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction59].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction60___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction60::action (src/parser//parser.nit:3287,2--3332:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable14 = variable10 /*nodearraylist1*/; - variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3303,6--30\n"); nit_exit(1);} - variable15 = variable9 /*nodearraylist2*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3305,6--38\n"); nit_exit(1);} - variable16 = variable8 /*nodearraylist3*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3307,6--44\n"); nit_exit(1);} - variable17 = variable7 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3309,6--42\n"); nit_exit(1);} - variable18 = variable5 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3311,6--38\n"); nit_exit(1);} - variable19 = variable4 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*listnode8*/==NIT_NULL) || VAL_ISA( variable19 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3313,6--38\n"); nit_exit(1);} - variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode8*/ == NIT_NULL /*null*/) || (( variable19 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable20)) { /*if*/ - variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable20)) { /*if*/ - variable12 = variable19 /*listnode8*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode9*/, variable19 /*listnode8*/) /*Array::append*/; - } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:1806 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1806); + nit_exit(1); } - variable21 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/, variable15 /*tkwredefnode3*/, variable16 /*pvisibilitynode4*/, variable17 /*pclasskindnode5*/, variable18 /*tclassidnode6*/, variable11 /*listnode7*/, variable12 /*listnode9*/, variable13 /*listnode10*/); /*new AClassdef*/ - variable20 = variable21; - variable1 = variable20 /*pclassdefnode1*/ /*node_list=*/; - variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction60___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction60::init (src/parser//parser.nit:3334,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction60].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction60].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction61___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction61::action (src/parser//parser.nit:3338,2--3390:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable14 = variable10 /*nodearraylist1*/; - variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3354,6--30\n"); nit_exit(1);} - variable15 = variable9 /*nodearraylist2*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3356,6--44\n"); nit_exit(1);} - variable16 = variable8 /*nodearraylist3*/; - variable17 = TAG_Bool(( variable16 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3358,6--42\n"); nit_exit(1);} - variable17 = variable6 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable17 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3360,6--38\n"); nit_exit(1);} - variable18 = variable5 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*listnode7*/==NIT_NULL) || VAL_ISA( variable18 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3362,6--38\n"); nit_exit(1);} - variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*listnode7*/ == NIT_NULL /*null*/) || (( variable18 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable18 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable18 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable19)) { /*if*/ - variable19 = ((array___AbstractArray___is_empty_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable11 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable19)) { /*if*/ - variable11 = variable18 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable11 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable11 /*listnode8*/, variable18 /*listnode7*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1808 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1808); + nit_exit(1); } - variable19 = variable4 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*listnode9*/==NIT_NULL) || VAL_ISA( variable19 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3371,6--38\n"); nit_exit(1);} - variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode9*/ == NIT_NULL /*null*/) || (( variable19 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable20)) { /*if*/ - variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable20)) { /*if*/ - variable12 = variable19 /*listnode9*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode10*/, variable19 /*listnode9*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:1809 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; } } - variable21 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode4*/, variable16 /*pclasskindnode5*/, variable17 /*tclassidnode6*/, variable11 /*listnode8*/, variable12 /*listnode10*/, variable13 /*listnode11*/); /*new AClassdef*/ - variable20 = variable21; - variable1 = variable20 /*pclassdefnode1*/ /*node_list=*/; - variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction61___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction61::init (src/parser//parser.nit:3392,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction61].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction61].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction62___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction62::action (src/parser//parser.nit:3396,2--3451:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable15 = variable11 /*nodearraylist1*/; - variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3413,6--30\n"); nit_exit(1);} - variable16 = variable10 /*nodearraylist2*/; - variable17 = TAG_Bool(( variable16 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3415,6--38\n"); nit_exit(1);} - variable17 = variable9 /*nodearraylist3*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3417,6--44\n"); nit_exit(1);} - variable18 = variable8 /*nodearraylist4*/; - variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3419,6--42\n"); nit_exit(1);} - variable19 = variable6 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3421,6--38\n"); nit_exit(1);} - variable20 = variable5 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*listnode7*/==NIT_NULL) || VAL_ISA( variable20 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3423,6--38\n"); nit_exit(1);} - variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ == NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable21)) { /*if*/ - variable21 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable21)) { /*if*/ - variable12 = variable20 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/, variable20 /*listnode7*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1810 */ + array___Array___add(fra.me.REG[7], fra.me.REG[3]); } - variable21 = variable4 /*nodearraylist8*/; - variable22 = TAG_Bool(( variable21 /*listnode9*/==NIT_NULL) || VAL_ISA( variable21 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3432,6--38\n"); nit_exit(1);} - variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode9*/ == NIT_NULL /*null*/) || (( variable21 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable22)) { /*if*/ - variable22 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable22)) { /*if*/ - variable13 = variable21 /*listnode9*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode10*/, variable21 /*listnode9*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:1813 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:1814 */ + } else { + /* ./parser//parser.nit:1816 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); } - variable23 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/, variable16 /*tkwredefnode3*/, variable17 /*pvisibilitynode4*/, variable18 /*pclasskindnode5*/, variable19 /*tclassidnode6*/, variable12 /*listnode8*/, variable13 /*listnode10*/, variable14 /*listnode11*/); /*new AClassdef*/ - variable22 = variable23; - variable1 = variable22 /*pclassdefnode1*/ /*node_list=*/; - variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction62___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction62::init (src/parser//parser.nit:3453,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction62].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction62].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction63___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction63::action (src/parser//parser.nit:3457,2--3496:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = NEW_array___Array___init(); /*new Array[Object]*/ - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable14 = variable10 /*nodearraylist1*/; - variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3473,6--30\n"); nit_exit(1);} - variable15 = variable9 /*nodearraylist2*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3475,6--44\n"); nit_exit(1);} - variable16 = variable8 /*nodearraylist3*/; - variable17 = TAG_Bool(( variable16 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3477,6--42\n"); nit_exit(1);} - variable17 = variable6 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable17 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3479,6--38\n"); nit_exit(1);} - variable18 = variable5 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3481,6--38\n"); nit_exit(1);} - variable19 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable18 /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable18 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable18 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable18 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable18 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable18 /*ppropdefnode9*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable19)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable13 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode10*/, variable18 /*ppropdefnode9*/) /*Array::add*/; - } - variable20 = NEW_parser_prod___AClassdef___init_aclassdef( variable14 /*pdocnode2*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode4*/, variable16 /*pclasskindnode5*/, variable17 /*tclassidnode6*/, variable11 /*listnode7*/, variable12 /*listnode8*/, variable13 /*listnode10*/); /*new AClassdef*/ - variable19 = variable20; - variable1 = variable19 /*pclassdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction63___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction63::init (src/parser//parser.nit:3498,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction63].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction63].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction64___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction64::action (src/parser//parser.nit:3502,2--3551:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable15 = variable11 /*nodearraylist1*/; - variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3519,6--30\n"); nit_exit(1);} - variable16 = variable10 /*nodearraylist2*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3521,6--44\n"); nit_exit(1);} - variable17 = variable9 /*nodearraylist3*/; - variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3523,6--42\n"); nit_exit(1);} - variable18 = variable7 /*nodearraylist5*/; - variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3525,6--38\n"); nit_exit(1);} - variable19 = variable6 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3527,6--38\n"); nit_exit(1);} - variable20 = variable4 /*nodearraylist8*/; - variable21 = TAG_Bool(( variable20 /*listnode10*/==NIT_NULL) || VAL_ISA( variable20 /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3529,6--39\n"); nit_exit(1);} - variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable19 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable19 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable19 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable19 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable19 /*ppropdefnode9*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable21)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/, variable19 /*ppropdefnode9*/) /*Array::add*/; - } - variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode10*/ == NIT_NULL /*null*/) || (( variable20 /*listnode10*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode10*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable21)) { /*if*/ - variable21 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode11*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable21)) { /*if*/ - variable14 = variable20 /*listnode10*/ /*listnode11=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode11*/, variable20 /*listnode10*/) /*Array::append*/; + fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]); + REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + /* ./parser//parser.nit:1822 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL); + REGB0 = REGB1; } } - variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode4*/, variable17 /*pclasskindnode5*/, variable18 /*tclassidnode6*/, variable12 /*listnode7*/, variable13 /*listnode8*/, variable14 /*listnode11*/); /*new AClassdef*/ - variable21 = variable22; - variable1 = variable21 /*pclassdefnode1*/ /*node_list=*/; - variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction64___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction64::init (src/parser//parser.nit:3553,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction64].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction64].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction65___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction65::action (src/parser//parser.nit:3557,2--3599:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable15 = variable11 /*nodearraylist1*/; - variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3574,6--30\n"); nit_exit(1);} - variable16 = variable10 /*nodearraylist2*/; - variable17 = TAG_Bool(( variable16 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3576,6--38\n"); nit_exit(1);} - variable17 = variable9 /*nodearraylist3*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3578,6--44\n"); nit_exit(1);} - variable18 = variable8 /*nodearraylist4*/; - variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3580,6--42\n"); nit_exit(1);} - variable19 = variable6 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3582,6--38\n"); nit_exit(1);} - variable20 = variable5 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3584,6--38\n"); nit_exit(1);} - variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable20 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode9*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable21)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode10*/, variable20 /*ppropdefnode9*/) /*Array::add*/; - } - variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/, variable16 /*tkwredefnode3*/, variable17 /*pvisibilitynode4*/, variable18 /*pclasskindnode5*/, variable19 /*tclassidnode6*/, variable12 /*listnode7*/, variable13 /*listnode8*/, variable14 /*listnode10*/); /*new AClassdef*/ - variable21 = variable22; - variable1 = variable21 /*pclassdefnode1*/ /*node_list=*/; - variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction65___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction65::init (src/parser//parser.nit:3601,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction65].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction65].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction66___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction66::action (src/parser//parser.nit:3605,2--3657:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable16 = variable12 /*nodearraylist1*/; - variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3623,6--30\n"); nit_exit(1);} - variable17 = variable11 /*nodearraylist2*/; - variable18 = TAG_Bool(( variable17 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3625,6--38\n"); nit_exit(1);} - variable18 = variable10 /*nodearraylist3*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3627,6--44\n"); nit_exit(1);} - variable19 = variable9 /*nodearraylist4*/; - variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3629,6--42\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3631,6--38\n"); nit_exit(1);} - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable21 /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3633,6--38\n"); nit_exit(1);} - variable22 = variable4 /*nodearraylist9*/; - variable23 = TAG_Bool(( variable22 /*listnode10*/==NIT_NULL) || VAL_ISA( variable22 /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3635,6--39\n"); nit_exit(1);} - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode9*/ == NIT_NULL /*null*/) || (( variable21 /*ppropdefnode9*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode9*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode9*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable23)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/, variable21 /*ppropdefnode9*/) /*Array::add*/; - } - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode10*/ == NIT_NULL /*null*/) || (( variable22 /*listnode10*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode10*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable23)) { /*if*/ - variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode11*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable23)) { /*if*/ - variable15 = variable22 /*listnode10*/ /*listnode11=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode11*/, variable22 /*listnode10*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1823 */ + array___Array___add(fra.me.REG[6], fra.me.REG[7]); } - variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, variable17 /*tkwredefnode3*/, variable18 /*pvisibilitynode4*/, variable19 /*pclasskindnode5*/, variable20 /*tclassidnode6*/, variable13 /*listnode7*/, variable14 /*listnode8*/, variable15 /*listnode11*/); /*new AClassdef*/ - variable23 = variable24; - variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/; - variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction66___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction66::init (src/parser//parser.nit:3659,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction66].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction66].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction67___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction67::action (src/parser//parser.nit:3663,2--3712:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable15 = variable11 /*nodearraylist1*/; - variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3680,6--30\n"); nit_exit(1);} - variable16 = variable10 /*nodearraylist2*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3682,6--44\n"); nit_exit(1);} - variable17 = variable9 /*nodearraylist3*/; - variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3684,6--42\n"); nit_exit(1);} - variable18 = variable7 /*nodearraylist5*/; - variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3686,6--38\n"); nit_exit(1);} - variable19 = variable6 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*listnode7*/==NIT_NULL) || VAL_ISA( variable19 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3688,6--38\n"); nit_exit(1);} - variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode7*/ == NIT_NULL /*null*/) || (( variable19 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable20)) { /*if*/ - variable20 = ((array___AbstractArray___is_empty_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable12 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable20)) { /*if*/ - variable12 = variable19 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable12 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable12 /*listnode8*/, variable19 /*listnode7*/) /*Array::append*/; - } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1831 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction11___init(val_t p0, int* init_table){ + int itpos15 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction11].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos15]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1833; + fra.me.meth = LOCATE_parser___ReduceAction11___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1833 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos15] = 1; + return; +} +void parser___ReduceAction12___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1837; + fra.me.meth = LOCATE_parser___ReduceAction12___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1846 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1846); + nit_exit(1); } - variable20 = variable5 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable20 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3697,6--39\n"); nit_exit(1);} - variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable20 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable21)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/, variable20 /*ppropdefnode10*/) /*Array::add*/; - } - variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode4*/, variable17 /*pclasskindnode5*/, variable18 /*tclassidnode6*/, variable12 /*listnode8*/, variable13 /*listnode9*/, variable14 /*listnode11*/); /*new AClassdef*/ - variable21 = variable22; - variable1 = variable21 /*pclassdefnode1*/ /*node_list=*/; - variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction67___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction67::init (src/parser//parser.nit:3714,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction67].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction67].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction68___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction68::action (src/parser//parser.nit:3718,2--3777:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable16 = variable12 /*nodearraylist1*/; - variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3736,6--30\n"); nit_exit(1);} - variable17 = variable11 /*nodearraylist2*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3738,6--44\n"); nit_exit(1);} - variable18 = variable10 /*nodearraylist3*/; - variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3740,6--42\n"); nit_exit(1);} - variable19 = variable8 /*nodearraylist5*/; - variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3742,6--38\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*listnode7*/==NIT_NULL) || VAL_ISA( variable20 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3744,6--38\n"); nit_exit(1);} - variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ == NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable21)) { /*if*/ - variable21 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable21)) { /*if*/ - variable13 = variable20 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/, variable20 /*listnode7*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:1848 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:1849 */ + } else { + /* ./parser//parser.nit:1851 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); } - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable21 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3753,6--39\n"); nit_exit(1);} - variable22 = variable4 /*nodearraylist9*/; - variable23 = TAG_Bool(( variable22 /*listnode11*/==NIT_NULL) || VAL_ISA( variable22 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3755,6--39\n"); nit_exit(1);} - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable21 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable23)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/, variable21 /*ppropdefnode10*/) /*Array::add*/; - } - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode11*/ == NIT_NULL /*null*/) || (( variable22 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode11*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable23)) { /*if*/ - variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode12*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable23)) { /*if*/ - variable15 = variable22 /*listnode11*/ /*listnode12=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode12*/, variable22 /*listnode11*/) /*Array::append*/; - } + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:1856 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1856); + nit_exit(1); } - variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, NIT_NULL /*null*/, variable17 /*pvisibilitynode4*/, variable18 /*pclasskindnode5*/, variable19 /*tclassidnode6*/, variable13 /*listnode8*/, variable14 /*listnode9*/, variable15 /*listnode12*/); /*new AClassdef*/ - variable23 = variable24; - variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/; - variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction68___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction68::init (src/parser//parser.nit:3779,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction68].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction68].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction69___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction69::action (src/parser//parser.nit:3783,2--3835:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable16 = variable12 /*nodearraylist1*/; - variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3801,6--30\n"); nit_exit(1);} - variable17 = variable11 /*nodearraylist2*/; - variable18 = TAG_Bool(( variable17 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3803,6--38\n"); nit_exit(1);} - variable18 = variable10 /*nodearraylist3*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3805,6--44\n"); nit_exit(1);} - variable19 = variable9 /*nodearraylist4*/; - variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3807,6--42\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3809,6--38\n"); nit_exit(1);} - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*listnode7*/==NIT_NULL) || VAL_ISA( variable21 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3811,6--38\n"); nit_exit(1);} - variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode7*/ == NIT_NULL /*null*/) || (( variable21 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable22)) { /*if*/ - variable22 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable22)) { /*if*/ - variable13 = variable21 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/, variable21 /*listnode7*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:1857 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable22 = variable5 /*nodearraylist8*/; - variable23 = TAG_Bool(( variable22 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable22 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3820,6--39\n"); nit_exit(1);} - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable22 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable23)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/, variable22 /*ppropdefnode10*/) /*Array::add*/; - } - variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, variable17 /*tkwredefnode3*/, variable18 /*pvisibilitynode4*/, variable19 /*pclasskindnode5*/, variable20 /*tclassidnode6*/, variable13 /*listnode8*/, variable14 /*listnode9*/, variable15 /*listnode11*/); /*new AClassdef*/ - variable23 = variable24; - variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/; - variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction69___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction69::init (src/parser//parser.nit:3837,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction69].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction69].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction70___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction70::action (src/parser//parser.nit:3841,2--3903:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable17 = NEW_array___Array___init(); /*new Array[Object]*/ - variable16 = variable17; - variable17 = variable13 /*nodearraylist1*/; - variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3860,6--30\n"); nit_exit(1);} - variable18 = variable12 /*nodearraylist2*/; - variable19 = TAG_Bool(( variable18 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3862,6--38\n"); nit_exit(1);} - variable19 = variable11 /*nodearraylist3*/; - variable20 = TAG_Bool(( variable19 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3864,6--44\n"); nit_exit(1);} - variable20 = variable10 /*nodearraylist4*/; - variable21 = TAG_Bool(( variable20 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable20 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3866,6--42\n"); nit_exit(1);} - variable21 = variable8 /*nodearraylist6*/; - variable22 = TAG_Bool(( variable21 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable21 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3868,6--38\n"); nit_exit(1);} - variable22 = variable7 /*nodearraylist7*/; - variable23 = TAG_Bool(( variable22 /*listnode7*/==NIT_NULL) || VAL_ISA( variable22 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3870,6--38\n"); nit_exit(1);} - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode7*/ == NIT_NULL /*null*/) || (( variable22 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable23)) { /*if*/ - variable23 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable23)) { /*if*/ - variable14 = variable22 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/, variable22 /*listnode7*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1858 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); } - variable23 = variable6 /*nodearraylist8*/; - variable24 = TAG_Bool(( variable23 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable23 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3879,6--39\n"); nit_exit(1);} - variable24 = variable4 /*nodearraylist10*/; - variable25 = TAG_Bool(( variable24 /*listnode11*/==NIT_NULL) || VAL_ISA( variable24 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3881,6--39\n"); nit_exit(1);} - variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable23 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable25)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/, variable23 /*ppropdefnode10*/) /*Array::add*/; - } - variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode11*/ == NIT_NULL /*null*/) || (( variable24 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode11*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable25)) { /*if*/ - variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode12*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable25)) { /*if*/ - variable16 = variable24 /*listnode11*/ /*listnode12=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode12*/, variable24 /*listnode11*/) /*Array::append*/; + fra.me.REG[3] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[3]); + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:1863 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; } } - variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/, variable18 /*tkwredefnode3*/, variable19 /*pvisibilitynode4*/, variable20 /*pclasskindnode5*/, variable21 /*tclassidnode6*/, variable14 /*listnode8*/, variable15 /*listnode9*/, variable16 /*listnode12*/); /*new AClassdef*/ - variable25 = variable26; - variable1 = variable25 /*pclassdefnode1*/ /*node_list=*/; - variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable26, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction70___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction70::init (src/parser//parser.nit:3905,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction70].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction70].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction71___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction71::action (src/parser//parser.nit:3909,2--3958:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = NEW_array___Array___init(); /*new Array[Object]*/ - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable15 = variable11 /*nodearraylist1*/; - variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3926,6--30\n"); nit_exit(1);} - variable16 = variable10 /*nodearraylist2*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3928,6--44\n"); nit_exit(1);} - variable17 = variable9 /*nodearraylist3*/; - variable18 = TAG_Bool(( variable17 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable17 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3930,6--42\n"); nit_exit(1);} - variable18 = variable7 /*nodearraylist5*/; - variable19 = TAG_Bool(( variable18 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable18 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3932,6--38\n"); nit_exit(1);} - variable19 = variable6 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*listnode8*/==NIT_NULL) || VAL_ISA( variable19 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3934,6--38\n"); nit_exit(1);} - variable20 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable19 /*listnode8*/ == NIT_NULL /*null*/) || (( variable19 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable19 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable19 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable20)) { /*if*/ - variable20 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable20)) { /*if*/ - variable13 = variable19 /*listnode8*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode9*/, variable19 /*listnode8*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1864 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); } - variable20 = variable5 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable20 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3943,6--39\n"); nit_exit(1);} - variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable20 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable20 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable20 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable21)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable14 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode11*/, variable20 /*ppropdefnode10*/) /*Array::add*/; - } - variable22 = NEW_parser_prod___AClassdef___init_aclassdef( variable15 /*pdocnode2*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode4*/, variable17 /*pclasskindnode5*/, variable18 /*tclassidnode6*/, variable12 /*listnode7*/, variable13 /*listnode9*/, variable14 /*listnode11*/); /*new AClassdef*/ - variable21 = variable22; - variable1 = variable21 /*pclassdefnode1*/ /*node_list=*/; - variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction71___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction71::init (src/parser//parser.nit:3960,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction71].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction71].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction72___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction72::action (src/parser//parser.nit:3964,2--4023:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable16 = variable12 /*nodearraylist1*/; - variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3982,6--30\n"); nit_exit(1);} - variable17 = variable11 /*nodearraylist2*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3984,6--44\n"); nit_exit(1);} - variable18 = variable10 /*nodearraylist3*/; - variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3986,6--42\n"); nit_exit(1);} - variable19 = variable8 /*nodearraylist5*/; - variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3988,6--38\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*listnode8*/==NIT_NULL) || VAL_ISA( variable20 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3990,6--38\n"); nit_exit(1);} - variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode8*/ == NIT_NULL /*null*/) || (( variable20 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable21)) { /*if*/ - variable21 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable21)) { /*if*/ - variable14 = variable20 /*listnode8*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/, variable20 /*listnode8*/) /*Array::append*/; - } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1872 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction12___init(val_t p0, int* init_table){ + int itpos16 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction12].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos16]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1874; + fra.me.meth = LOCATE_parser___ReduceAction12___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1874 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos16] = 1; + return; +} +void parser___ReduceAction13___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1878; + fra.me.meth = LOCATE_parser___ReduceAction13___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1888 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1888); + nit_exit(1); } - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable21 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:3999,6--39\n"); nit_exit(1);} - variable22 = variable4 /*nodearraylist9*/; - variable23 = TAG_Bool(( variable22 /*listnode11*/==NIT_NULL) || VAL_ISA( variable22 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4001,6--39\n"); nit_exit(1);} - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable21 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable21 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable21 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable23)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/, variable21 /*ppropdefnode10*/) /*Array::add*/; - } - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode11*/ == NIT_NULL /*null*/) || (( variable22 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode11*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable23)) { /*if*/ - variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode12*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable23)) { /*if*/ - variable15 = variable22 /*listnode11*/ /*listnode12=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode12*/, variable22 /*listnode11*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:1890 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[4]; + /* ./parser//parser.nit:1891 */ + } else { + /* ./parser//parser.nit:1893 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]); } - variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, NIT_NULL /*null*/, variable17 /*pvisibilitynode4*/, variable18 /*pclasskindnode5*/, variable19 /*tclassidnode6*/, variable13 /*listnode7*/, variable14 /*listnode9*/, variable15 /*listnode12*/); /*new AClassdef*/ - variable23 = variable24; - variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/; - variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction72___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction72::init (src/parser//parser.nit:4025,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction72].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction72].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction73___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction73::action (src/parser//parser.nit:4029,2--4081:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable16 = variable12 /*nodearraylist1*/; - variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4047,6--30\n"); nit_exit(1);} - variable17 = variable11 /*nodearraylist2*/; - variable18 = TAG_Bool(( variable17 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4049,6--38\n"); nit_exit(1);} - variable18 = variable10 /*nodearraylist3*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4051,6--44\n"); nit_exit(1);} - variable19 = variable9 /*nodearraylist4*/; - variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4053,6--42\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4055,6--38\n"); nit_exit(1);} - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*listnode8*/==NIT_NULL) || VAL_ISA( variable21 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4057,6--38\n"); nit_exit(1);} - variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode8*/ == NIT_NULL /*null*/) || (( variable21 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable22)) { /*if*/ - variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable22)) { /*if*/ - variable14 = variable21 /*listnode8*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode9*/, variable21 /*listnode8*/) /*Array::append*/; - } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:1898 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1898); + nit_exit(1); } - variable22 = variable5 /*nodearraylist8*/; - variable23 = TAG_Bool(( variable22 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable22 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4066,6--39\n"); nit_exit(1);} - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable22 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable23)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable15 /*listnode11*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode11*/, variable22 /*ppropdefnode10*/) /*Array::add*/; - } - variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, variable17 /*tkwredefnode3*/, variable18 /*pvisibilitynode4*/, variable19 /*pclasskindnode5*/, variable20 /*tclassidnode6*/, variable13 /*listnode7*/, variable14 /*listnode9*/, variable15 /*listnode11*/); /*new AClassdef*/ - variable23 = variable24; - variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/; - variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction73___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction73::init (src/parser//parser.nit:4083,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction73].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction73].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction74___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction74::action (src/parser//parser.nit:4087,2--4149:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable17 = NEW_array___Array___init(); /*new Array[Object]*/ - variable16 = variable17; - variable17 = variable13 /*nodearraylist1*/; - variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4106,6--30\n"); nit_exit(1);} - variable18 = variable12 /*nodearraylist2*/; - variable19 = TAG_Bool(( variable18 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4108,6--38\n"); nit_exit(1);} - variable19 = variable11 /*nodearraylist3*/; - variable20 = TAG_Bool(( variable19 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4110,6--44\n"); nit_exit(1);} - variable20 = variable10 /*nodearraylist4*/; - variable21 = TAG_Bool(( variable20 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable20 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4112,6--42\n"); nit_exit(1);} - variable21 = variable8 /*nodearraylist6*/; - variable22 = TAG_Bool(( variable21 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable21 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4114,6--38\n"); nit_exit(1);} - variable22 = variable7 /*nodearraylist7*/; - variable23 = TAG_Bool(( variable22 /*listnode8*/==NIT_NULL) || VAL_ISA( variable22 /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4116,6--38\n"); nit_exit(1);} - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode8*/ == NIT_NULL /*null*/) || (( variable22 /*listnode8*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode8*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode8*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable23)) { /*if*/ - variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode9*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode9*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable23)) { /*if*/ - variable15 = variable22 /*listnode8*/ /*listnode9=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode9*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode9*/, variable22 /*listnode8*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1900 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1900); + nit_exit(1); } - variable23 = variable6 /*nodearraylist8*/; - variable24 = TAG_Bool(( variable23 /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable23 /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4125,6--39\n"); nit_exit(1);} - variable24 = variable4 /*nodearraylist10*/; - variable25 = TAG_Bool(( variable24 /*listnode11*/==NIT_NULL) || VAL_ISA( variable24 /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4127,6--39\n"); nit_exit(1);} - variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode10*/ == NIT_NULL /*null*/) || (( variable23 /*ppropdefnode10*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode10*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode10*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable25)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/, variable23 /*ppropdefnode10*/) /*Array::add*/; - } - variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode11*/ == NIT_NULL /*null*/) || (( variable24 /*listnode11*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode11*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable25)) { /*if*/ - variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode12*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable25)) { /*if*/ - variable16 = variable24 /*listnode11*/ /*listnode12=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode12*/, variable24 /*listnode11*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:1901 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; } } - variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/, variable18 /*tkwredefnode3*/, variable19 /*pvisibilitynode4*/, variable20 /*pclasskindnode5*/, variable21 /*tclassidnode6*/, variable14 /*listnode7*/, variable15 /*listnode9*/, variable16 /*listnode12*/); /*new AClassdef*/ - variable25 = variable26; - variable1 = variable25 /*pclassdefnode1*/ /*node_list=*/; - variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable26, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction74___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction74::init (src/parser//parser.nit:4151,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction74].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction74].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction75___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction75::action (src/parser//parser.nit:4155,2--4214:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable16 = variable12 /*nodearraylist1*/; - variable17 = TAG_Bool(( variable16 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable16 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4173,6--30\n"); nit_exit(1);} - variable17 = variable11 /*nodearraylist2*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4175,6--44\n"); nit_exit(1);} - variable18 = variable10 /*nodearraylist3*/; - variable19 = TAG_Bool(( variable18 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable18 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4177,6--42\n"); nit_exit(1);} - variable19 = variable8 /*nodearraylist5*/; - variable20 = TAG_Bool(( variable19 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable19 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4179,6--38\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*listnode7*/==NIT_NULL) || VAL_ISA( variable20 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4181,6--38\n"); nit_exit(1);} - variable21 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable20 /*listnode7*/ == NIT_NULL /*null*/) || (( variable20 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable20 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable20 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable21)) { /*if*/ - variable21 = ((array___AbstractArray___is_empty_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable13 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable21)) { /*if*/ - variable13 = variable20 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable13 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable13 /*listnode8*/, variable20 /*listnode7*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1902 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); } - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*listnode9*/==NIT_NULL) || VAL_ISA( variable21 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4190,6--38\n"); nit_exit(1);} - variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode9*/ == NIT_NULL /*null*/) || (( variable21 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable22)) { /*if*/ - variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable22)) { /*if*/ - variable14 = variable21 /*listnode9*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode10*/, variable21 /*listnode9*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:1905 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:1906 */ + } else { + /* ./parser//parser.nit:1908 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); } - variable22 = variable5 /*nodearraylist8*/; - variable23 = TAG_Bool(( variable22 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable22 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4199,6--39\n"); nit_exit(1);} - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable22 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable22 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable22 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable22 /*ppropdefnode11*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable23)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable15 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable15 /*listnode12*/, variable22 /*ppropdefnode11*/) /*Array::add*/; - } - variable24 = NEW_parser_prod___AClassdef___init_aclassdef( variable16 /*pdocnode2*/, NIT_NULL /*null*/, variable17 /*pvisibilitynode4*/, variable18 /*pclasskindnode5*/, variable19 /*tclassidnode6*/, variable13 /*listnode8*/, variable14 /*listnode10*/, variable15 /*listnode12*/); /*new AClassdef*/ - variable23 = variable24; - variable1 = variable23 /*pclassdefnode1*/ /*node_list=*/; - variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction75___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction75::init (src/parser//parser.nit:4216,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction75].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction75].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction76___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction76::action (src/parser//parser.nit:4220,2--4289:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable17 = NEW_array___Array___init(); /*new Array[Object]*/ - variable16 = variable17; - variable17 = variable13 /*nodearraylist1*/; - variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4239,6--30\n"); nit_exit(1);} - variable18 = variable12 /*nodearraylist2*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4241,6--44\n"); nit_exit(1);} - variable19 = variable11 /*nodearraylist3*/; - variable20 = TAG_Bool(( variable19 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable19 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4243,6--42\n"); nit_exit(1);} - variable20 = variable9 /*nodearraylist5*/; - variable21 = TAG_Bool(( variable20 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable20 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4245,6--38\n"); nit_exit(1);} - variable21 = variable8 /*nodearraylist6*/; - variable22 = TAG_Bool(( variable21 /*listnode7*/==NIT_NULL) || VAL_ISA( variable21 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4247,6--38\n"); nit_exit(1);} - variable22 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable21 /*listnode7*/ == NIT_NULL /*null*/) || (( variable21 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable21 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable21 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable22)) { /*if*/ - variable22 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable22)) { /*if*/ - variable14 = variable21 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/, variable21 /*listnode7*/) /*Array::append*/; + fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]); + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:1914 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; } } - variable22 = variable7 /*nodearraylist7*/; - variable23 = TAG_Bool(( variable22 /*listnode9*/==NIT_NULL) || VAL_ISA( variable22 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4256,6--38\n"); nit_exit(1);} - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode9*/ == NIT_NULL /*null*/) || (( variable22 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable23)) { /*if*/ - variable23 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable23)) { /*if*/ - variable15 = variable22 /*listnode9*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode10*/, variable22 /*listnode9*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1915 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); } - variable23 = variable6 /*nodearraylist8*/; - variable24 = TAG_Bool(( variable23 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable23 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4265,6--39\n"); nit_exit(1);} - variable24 = variable4 /*nodearraylist10*/; - variable25 = TAG_Bool(( variable24 /*listnode12*/==NIT_NULL) || VAL_ISA( variable24 /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4267,6--39\n"); nit_exit(1);} - variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable23 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable23 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable23 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable23 /*ppropdefnode11*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable25)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode13*/, variable23 /*ppropdefnode11*/) /*Array::add*/; - } - variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode12*/ == NIT_NULL /*null*/) || (( variable24 /*listnode12*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode12*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode12*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable25)) { /*if*/ - variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode13*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable25)) { /*if*/ - variable16 = variable24 /*listnode12*/ /*listnode13=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode13*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode13*/, variable24 /*listnode12*/) /*Array::append*/; - } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1923 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction13___init(val_t p0, int* init_table){ + int itpos17 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction13].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos17]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1925; + fra.me.meth = LOCATE_parser___ReduceAction13___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1925 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos17] = 1; + return; +} +void parser___ReduceAction14___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1929; + fra.me.meth = LOCATE_parser___ReduceAction14___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:1939 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1939); + nit_exit(1); } - variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/, NIT_NULL /*null*/, variable18 /*pvisibilitynode4*/, variable19 /*pclasskindnode5*/, variable20 /*tclassidnode6*/, variable14 /*listnode8*/, variable15 /*listnode10*/, variable16 /*listnode13*/); /*new AClassdef*/ - variable25 = variable26; - variable1 = variable25 /*pclassdefnode1*/ /*node_list=*/; - variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable26, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction76___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction76::init (src/parser//parser.nit:4291,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction76].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction76].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction77___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction77::action (src/parser//parser.nit:4295,2--4357:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable13 = variable14; - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable17 = NEW_array___Array___init(); /*new Array[Object]*/ - variable16 = variable17; - variable17 = variable13 /*nodearraylist1*/; - variable18 = TAG_Bool(( variable17 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable17 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4314,6--30\n"); nit_exit(1);} - variable18 = variable12 /*nodearraylist2*/; - variable19 = TAG_Bool(( variable18 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4316,6--38\n"); nit_exit(1);} - variable19 = variable11 /*nodearraylist3*/; - variable20 = TAG_Bool(( variable19 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4318,6--44\n"); nit_exit(1);} - variable20 = variable10 /*nodearraylist4*/; - variable21 = TAG_Bool(( variable20 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable20 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4320,6--42\n"); nit_exit(1);} - variable21 = variable8 /*nodearraylist6*/; - variable22 = TAG_Bool(( variable21 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable21 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4322,6--38\n"); nit_exit(1);} - variable22 = variable7 /*nodearraylist7*/; - variable23 = TAG_Bool(( variable22 /*listnode7*/==NIT_NULL) || VAL_ISA( variable22 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4324,6--38\n"); nit_exit(1);} - variable23 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable22 /*listnode7*/ == NIT_NULL /*null*/) || (( variable22 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable22 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable22 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable23)) { /*if*/ - variable23 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable23)) { /*if*/ - variable14 = variable22 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode8*/, variable22 /*listnode7*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1941 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1941); + nit_exit(1); } - variable23 = variable6 /*nodearraylist8*/; - variable24 = TAG_Bool(( variable23 /*listnode9*/==NIT_NULL) || VAL_ISA( variable23 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4333,6--38\n"); nit_exit(1);} - variable24 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*listnode9*/ == NIT_NULL /*null*/) || (( variable23 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable23 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable23 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable24)) { /*if*/ - variable24 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable24)) { /*if*/ - variable15 = variable23 /*listnode9*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode10*/, variable23 /*listnode9*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:1943 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:1944 */ + } else { + /* ./parser//parser.nit:1946 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); } - variable24 = variable5 /*nodearraylist9*/; - variable25 = TAG_Bool(( variable24 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable24 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4342,6--39\n"); nit_exit(1);} - variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable24 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable24 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable24 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable24 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable24 /*ppropdefnode11*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable25)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable16 /*listnode12*/,COLOR_abstract_collection___SimpleCollection___add))( variable16 /*listnode12*/, variable24 /*ppropdefnode11*/) /*Array::add*/; - } - variable26 = NEW_parser_prod___AClassdef___init_aclassdef( variable17 /*pdocnode2*/, variable18 /*tkwredefnode3*/, variable19 /*pvisibilitynode4*/, variable20 /*pclasskindnode5*/, variable21 /*tclassidnode6*/, variable14 /*listnode8*/, variable15 /*listnode10*/, variable16 /*listnode12*/); /*new AClassdef*/ - variable25 = variable26; - variable1 = variable25 /*pclassdefnode1*/ /*node_list=*/; - variable26 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable26, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction77___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction77::init (src/parser//parser.nit:4359,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction77].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction77].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction78___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction78::action (src/parser//parser.nit:4363,2--4435:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - val_t variable27; - val_t variable28; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable13 = variable14; - variable15 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable14 = variable15; - variable16 = NEW_array___Array___init(); /*new Array[Object]*/ - variable15 = variable16; - variable17 = NEW_array___Array___init(); /*new Array[Object]*/ - variable16 = variable17; - variable18 = NEW_array___Array___init(); /*new Array[Object]*/ - variable17 = variable18; - variable18 = variable14 /*nodearraylist1*/; - variable19 = TAG_Bool(( variable18 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable18 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4383,6--30\n"); nit_exit(1);} - variable19 = variable13 /*nodearraylist2*/; - variable20 = TAG_Bool(( variable19 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4385,6--38\n"); nit_exit(1);} - variable20 = variable12 /*nodearraylist3*/; - variable21 = TAG_Bool(( variable20 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4387,6--44\n"); nit_exit(1);} - variable21 = variable11 /*nodearraylist4*/; - variable22 = TAG_Bool(( variable21 /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable21 /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4389,6--42\n"); nit_exit(1);} - variable22 = variable9 /*nodearraylist6*/; - variable23 = TAG_Bool(( variable22 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable22 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4391,6--38\n"); nit_exit(1);} - variable23 = variable8 /*nodearraylist7*/; - variable24 = TAG_Bool(( variable23 /*listnode7*/==NIT_NULL) || VAL_ISA( variable23 /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4393,6--38\n"); nit_exit(1);} - variable24 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable23 /*listnode7*/ == NIT_NULL /*null*/) || (( variable23 /*listnode7*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable23 /*listnode7*/,COLOR_kernel___Object_____eqeq))( variable23 /*listnode7*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable24)) { /*if*/ - variable24 = ((array___AbstractArray___is_empty_t)CALL( variable15 /*listnode8*/,COLOR_abstract_collection___Collection___is_empty))( variable15 /*listnode8*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable24)) { /*if*/ - variable15 = variable23 /*listnode7*/ /*listnode8=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable15 /*listnode8*/,COLOR_abstract_collection___IndexedCollection___append))( variable15 /*listnode8*/, variable23 /*listnode7*/) /*Array::append*/; - } + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:1951 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1951); + nit_exit(1); } - variable24 = variable7 /*nodearraylist8*/; - variable25 = TAG_Bool(( variable24 /*listnode9*/==NIT_NULL) || VAL_ISA( variable24 /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4402,6--38\n"); nit_exit(1);} - variable25 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable24 /*listnode9*/ == NIT_NULL /*null*/) || (( variable24 /*listnode9*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable24 /*listnode9*/,COLOR_kernel___Object_____eqeq))( variable24 /*listnode9*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable25)) { /*if*/ - variable25 = ((array___AbstractArray___is_empty_t)CALL( variable16 /*listnode10*/,COLOR_abstract_collection___Collection___is_empty))( variable16 /*listnode10*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable25)) { /*if*/ - variable16 = variable24 /*listnode9*/ /*listnode10=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable16 /*listnode10*/,COLOR_abstract_collection___IndexedCollection___append))( variable16 /*listnode10*/, variable24 /*listnode9*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:1952 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable25 = variable6 /*nodearraylist9*/; - variable26 = TAG_Bool(( variable25 /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable25 /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4411,6--39\n"); nit_exit(1);} - variable26 = variable4 /*nodearraylist11*/; - variable27 = TAG_Bool(( variable26 /*listnode12*/==NIT_NULL) || VAL_ISA( variable26 /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable27)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4413,6--39\n"); nit_exit(1);} - variable27 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable25 /*ppropdefnode11*/ == NIT_NULL /*null*/) || (( variable25 /*ppropdefnode11*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable25 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable25 /*ppropdefnode11*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable25 /*ppropdefnode11*/,COLOR_kernel___Object_____eqeq))( variable25 /*ppropdefnode11*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable27)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___SimpleCollection___add))( variable17 /*listnode13*/, variable25 /*ppropdefnode11*/) /*Array::add*/; - } - variable27 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable26 /*listnode12*/ == NIT_NULL /*null*/) || (( variable26 /*listnode12*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable26 /*listnode12*/,COLOR_kernel___Object_____eqeq))( variable26 /*listnode12*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable27)) { /*if*/ - variable27 = ((array___AbstractArray___is_empty_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___Collection___is_empty))( variable17 /*listnode13*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable27)) { /*if*/ - variable17 = variable26 /*listnode12*/ /*listnode13=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable17 /*listnode13*/,COLOR_abstract_collection___IndexedCollection___append))( variable17 /*listnode13*/, variable26 /*listnode12*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1953 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); } - variable28 = NEW_parser_prod___AClassdef___init_aclassdef( variable18 /*pdocnode2*/, variable19 /*tkwredefnode3*/, variable20 /*pvisibilitynode4*/, variable21 /*pclasskindnode5*/, variable22 /*tclassidnode6*/, variable15 /*listnode8*/, variable16 /*listnode10*/, variable17 /*listnode13*/); /*new AClassdef*/ - variable27 = variable28; - variable1 = variable27 /*pclassdefnode1*/ /*node_list=*/; - variable28 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(5)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable28, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction78___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction78::init (src/parser//parser.nit:4437,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction78].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction78].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction79___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction79::action (src/parser//parser.nit:4441,2--4451:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwclassnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwclassnode2*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4446,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AConcreteClasskind___init_aconcreteclasskind( variable3 /*tkwclassnode2*/); /*new AConcreteClasskind*/ - variable4 = variable5; - variable1 = variable4 /*pclasskindnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(6)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction79___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction79::init (src/parser//parser.nit:4453,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction79].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction79].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction80___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction80::action (src/parser//parser.nit:4457,2--4471:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tkwabstractnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwabstractnode2*/, COLOR_TKwabstract, ID_TKwabstract)) /*cast TKwabstract*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4463,6--44\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*tkwclassnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwclassnode3*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4465,6--38\n"); nit_exit(1);} - variable7 = NEW_parser_prod___AAbstractClasskind___init_aabstractclasskind( variable4 /*tkwabstractnode2*/, variable5 /*tkwclassnode3*/); /*new AAbstractClasskind*/ - variable6 = variable7; - variable1 = variable6 /*pclasskindnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(6)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction80___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction80::init (src/parser//parser.nit:4473,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction80].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction80].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction81___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction81::action (src/parser//parser.nit:4477,2--4487:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwinterfacenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwinterfacenode2*/, COLOR_TKwinterface, ID_TKwinterface)) /*cast TKwinterface*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4482,6--46\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind( variable3 /*tkwinterfacenode2*/); /*new AInterfaceClasskind*/ - variable4 = variable5; - variable1 = variable4 /*pclasskindnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(6)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction81___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction81::init (src/parser//parser.nit:4489,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction81].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction81].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction82___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction82::action (src/parser//parser.nit:4493,2--4503:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwuniversalnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwuniversalnode2*/, COLOR_TKwuniversal, ID_TKwuniversal)) /*cast TKwuniversal*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4498,6--46\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AUniversalClasskind___init_auniversalclasskind( variable3 /*tkwuniversalnode2*/); /*new AUniversalClasskind*/ - variable4 = variable5; - variable1 = variable4 /*pclasskindnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(6)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction82___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction82::init (src/parser//parser.nit:4505,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction82].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction82].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction83___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction83::action (src/parser//parser.nit:4509,2--4524:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable4 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4519,6--42\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable8 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pformaldefnode1*/, NIT_NULL /*null*/) /*PFormaldef::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/, variable8 /*pformaldefnode1*/) /*Array::add*/; - } - variable1 = variable7 /*listnode2*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(7)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction83___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction83::init (src/parser//parser.nit:4526,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction83].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction83].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction84___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction84::action (src/parser//parser.nit:4530,2--4555:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4541,6--42\n"); nit_exit(1);} - variable10 = variable4 /*nodearraylist4*/; - variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4543,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable9 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pformaldefnode1*/, NIT_NULL /*null*/) /*PFormaldef::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/, variable9 /*pformaldefnode1*/) /*Array::add*/; - } - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ == NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable8 = variable10 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/, variable10 /*listnode2*/) /*Array::append*/; + fra.me.REG[3] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[3]); + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:1958 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; } } - variable1 = variable8 /*listnode3*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(7)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction84___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction84::init (src/parser//parser.nit:4557,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction84].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction84].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction85___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction85::action (src/parser//parser.nit:4561,2--4570:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable2 /*nodearraylist3*/; - variable6 = TAG_Bool(( variable5 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4568,6--42\n"); nit_exit(1);} - variable1 = variable5 /*pformaldefnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(8)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction85___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction85::init (src/parser//parser.nit:4572,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction85].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction85].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction86___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction86::action (src/parser//parser.nit:4576,2--4587:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4581,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AFormaldef___init_aformaldef( variable3 /*tclassidnode2*/, NIT_NULL /*null*/); /*new AFormaldef*/ - variable4 = variable5; - variable1 = variable4 /*pformaldefnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(9)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction86___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction86::init (src/parser//parser.nit:4589,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction86].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction86].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction87___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction87::action (src/parser//parser.nit:4593,2--4607:33)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4599,6--38\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4601,6--32\n"); nit_exit(1);} - variable7 = NEW_parser_prod___AFormaldef___init_aformaldef( variable4 /*tclassidnode2*/, variable5 /*ptypenode3*/); /*new AFormaldef*/ - variable6 = variable7; - variable1 = variable6 /*pformaldefnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(9)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction87___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction87::init (src/parser//parser.nit:4609,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction87].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction87].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction88___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction88::action (src/parser//parser.nit:4613,2--4629:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable4 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*tkwspecialnode2*/==NIT_NULL) || VAL_ISA( variable6 /*tkwspecialnode2*/, COLOR_TKwspecial, ID_TKwspecial)) /*cast TKwspecial*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4621,6--42\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4623,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ASuperclass___init_asuperclass( variable6 /*tkwspecialnode2*/, variable7 /*ptypenode3*/); /*new ASuperclass*/ - variable8 = variable9; - variable1 = variable8 /*psuperclassnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(10)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction88___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction88::init (src/parser//parser.nit:4631,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction88].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction88].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction89___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction89::action (src/parser//parser.nit:4635,2--4643:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4641,6--38\n"); nit_exit(1);} - variable1 = variable4 /*ppropdefnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(11)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction89___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction89::init (src/parser//parser.nit:4645,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction89].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction89].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction90___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction90::action (src/parser//parser.nit:4649,2--4690:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4659,6--30\n"); nit_exit(1);} - variable9 = variable6 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4661,6--44\n"); nit_exit(1);} - variable11 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable9 /*tkwreadablenode5*/); /*new AReadAble*/ - variable10 = variable11; - variable11 = variable5 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4667,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable11 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable12 = variable13; - variable13 = variable4 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4673,6--45\n"); nit_exit(1);} - variable14 = variable3 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4675,6--37\n"); nit_exit(1);} - variable15 = variable2 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4677,6--37\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, variable10 /*pablenode3*/, variable12 /*pablenode6*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode10*/, variable14 /*tkwattrnode11*/, variable15 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction90___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction90::init (src/parser//parser.nit:4692,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction90].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction90].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction91___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction91::action (src/parser//parser.nit:4696,2--4740:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4707,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4709,6--44\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable10 /*tkwreadablenode5*/); /*new AReadAble*/ - variable11 = variable12; - variable12 = variable6 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4715,6--38\n"); nit_exit(1);} - variable13 = variable5 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4717,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AWriteAble___init_awriteable( variable12 /*tkwredefnode7*/, variable13 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable14 = variable15; - variable15 = variable4 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4723,6--45\n"); nit_exit(1);} - variable16 = variable3 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4725,6--37\n"); nit_exit(1);} - variable17 = variable2 /*nodearraylist7*/; - variable18 = TAG_Bool(( variable17 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4727,6--37\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable11 /*pablenode3*/, variable14 /*pablenode6*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode10*/, variable16 /*tkwattrnode11*/, variable17 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable18 = variable19; - variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction91___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction91::init (src/parser//parser.nit:4742,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction91].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction91].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction92___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction92::action (src/parser//parser.nit:4746,2--4780:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable7 = variable6 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4755,6--30\n"); nit_exit(1);} - variable8 = variable5 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable8 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4757,6--44\n"); nit_exit(1);} - variable10 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable8 /*tkwreadablenode5*/); /*new AReadAble*/ - variable9 = variable10; - variable10 = variable4 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4763,6--44\n"); nit_exit(1);} - variable11 = variable3 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4765,6--36\n"); nit_exit(1);} - variable12 = variable2 /*nodearraylist5*/; - variable13 = TAG_Bool(( variable12 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4767,6--37\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/, variable9 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode8*/, variable11 /*tkwattrnode9*/, variable12 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable13 = variable14; - variable1 = variable13 /*ppropdefnode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction92___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction92::init (src/parser//parser.nit:4782,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction92].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction92].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction93___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction93::action (src/parser//parser.nit:4786,2--4830:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4797,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4799,6--38\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4801,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/ - variable12 = variable13; - variable13 = variable5 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4807,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable13 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable14 = variable15; - variable15 = variable4 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4813,6--45\n"); nit_exit(1);} - variable16 = variable3 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4815,6--37\n"); nit_exit(1);} - variable17 = variable2 /*nodearraylist7*/; - variable18 = TAG_Bool(( variable17 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4817,6--37\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable12 /*pablenode3*/, variable14 /*pablenode6*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode10*/, variable16 /*tkwattrnode11*/, variable17 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable18 = variable19; - variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction93___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction93::init (src/parser//parser.nit:4832,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction93].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction93].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction94___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction94::action (src/parser//parser.nit:4836,2--4883:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4848,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4850,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4852,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/ - variable13 = variable14; - variable14 = variable6 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4858,6--38\n"); nit_exit(1);} - variable15 = variable5 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4860,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode7*/, variable15 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable16 = variable17; - variable17 = variable4 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4866,6--45\n"); nit_exit(1);} - variable18 = variable3 /*nodearraylist7*/; - variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4868,6--37\n"); nit_exit(1);} - variable19 = variable2 /*nodearraylist8*/; - variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4870,6--37\n"); nit_exit(1);} - variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable13 /*pablenode3*/, variable16 /*pablenode6*/, NIT_NULL /*null*/, variable17 /*pvisibilitynode10*/, variable18 /*tkwattrnode11*/, variable19 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable20 = variable21; - variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/; - variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction94___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction94::init (src/parser//parser.nit:4885,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction94].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction94].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction95___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction95::action (src/parser//parser.nit:4889,2--4926:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4899,6--30\n"); nit_exit(1);} - variable9 = variable6 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4901,6--38\n"); nit_exit(1);} - variable10 = variable5 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4903,6--44\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AReadAble___init_areadable( variable9 /*tkwredefnode4*/, variable10 /*tkwreadablenode5*/); /*new AReadAble*/ - variable11 = variable12; - variable12 = variable4 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4909,6--44\n"); nit_exit(1);} - variable13 = variable3 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4911,6--36\n"); nit_exit(1);} - variable14 = variable2 /*nodearraylist6*/; - variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4913,6--37\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, variable11 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable12 /*pvisibilitynode8*/, variable13 /*tkwattrnode9*/, variable14 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable15 = variable16; - variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction95___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction95::init (src/parser//parser.nit:4928,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction95].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction95].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction96___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction96::action (src/parser//parser.nit:4932,2--4966:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable7 = variable6 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4941,6--30\n"); nit_exit(1);} - variable8 = variable5 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable8 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4943,6--44\n"); nit_exit(1);} - variable10 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable8 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable9 = variable10; - variable10 = variable4 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4949,6--44\n"); nit_exit(1);} - variable11 = variable3 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4951,6--36\n"); nit_exit(1);} - variable12 = variable2 /*nodearraylist5*/; - variable13 = TAG_Bool(( variable12 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4953,6--37\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/, NIT_NULL /*null*/, variable9 /*pablenode4*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode8*/, variable11 /*tkwattrnode9*/, variable12 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable13 = variable14; - variable1 = variable13 /*ppropdefnode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction96___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction96::init (src/parser//parser.nit:4968,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction96].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction96].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction97___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction97::action (src/parser//parser.nit:4972,2--5009:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4982,6--30\n"); nit_exit(1);} - variable9 = variable6 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4984,6--38\n"); nit_exit(1);} - variable10 = variable5 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable10 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4986,6--44\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AWriteAble___init_awriteable( variable9 /*tkwredefnode5*/, variable10 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable11 = variable12; - variable12 = variable4 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4992,6--44\n"); nit_exit(1);} - variable13 = variable3 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4994,6--36\n"); nit_exit(1);} - variable14 = variable2 /*nodearraylist6*/; - variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:4996,6--37\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pablenode4*/, NIT_NULL /*null*/, variable12 /*pvisibilitynode8*/, variable13 /*tkwattrnode9*/, variable14 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable15 = variable16; - variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction97___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction97::init (src/parser//parser.nit:5011,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction97].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction97].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction98___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction98::action (src/parser//parser.nit:5015,2--5042:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5023,6--30\n"); nit_exit(1);} - variable7 = variable4 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable7 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5025,6--44\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable8 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5027,6--36\n"); nit_exit(1);} - variable9 = variable2 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable9 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5029,6--36\n"); nit_exit(1);} - variable11 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable6 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable7 /*pvisibilitynode6*/, variable8 /*tkwattrnode7*/, variable9 /*tattridnode8*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable10 = variable11; - variable1 = variable10 /*ppropdefnode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction98___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction98::init (src/parser//parser.nit:5044,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction98].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction98].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction99___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction99::action (src/parser//parser.nit:5048,2--5092:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5059,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5061,6--44\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable10 /*tkwreadablenode5*/); /*new AReadAble*/ - variable11 = variable12; - variable12 = variable6 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5067,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable12 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable13 = variable14; - variable14 = variable5 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5073,6--38\n"); nit_exit(1);} - variable15 = variable4 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5075,6--45\n"); nit_exit(1);} - variable16 = variable3 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5077,6--37\n"); nit_exit(1);} - variable17 = variable2 /*nodearraylist7*/; - variable18 = TAG_Bool(( variable17 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5079,6--37\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable11 /*pablenode3*/, variable13 /*pablenode6*/, variable14 /*tkwredefnode9*/, variable15 /*pvisibilitynode10*/, variable16 /*tkwattrnode11*/, variable17 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable18 = variable19; - variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction99___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction99::init (src/parser//parser.nit:5094,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction99].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction99].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction100___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction100::action (src/parser//parser.nit:5098,2--5145:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5110,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5112,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/ - variable12 = variable13; - variable13 = variable7 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5118,6--38\n"); nit_exit(1);} - variable14 = variable6 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5120,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode7*/, variable14 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable15 = variable16; - variable16 = variable5 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5126,6--38\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5128,6--45\n"); nit_exit(1);} - variable18 = variable3 /*nodearraylist7*/; - variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5130,6--37\n"); nit_exit(1);} - variable19 = variable2 /*nodearraylist8*/; - variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5132,6--37\n"); nit_exit(1);} - variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable12 /*pablenode3*/, variable15 /*pablenode6*/, variable16 /*tkwredefnode9*/, variable17 /*pvisibilitynode10*/, variable18 /*tkwattrnode11*/, variable19 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable20 = variable21; - variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/; - variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction100___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction100::init (src/parser//parser.nit:5147,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction100].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction100].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction101___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction101::action (src/parser//parser.nit:5151,2--5188:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5161,6--30\n"); nit_exit(1);} - variable9 = variable6 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5163,6--44\n"); nit_exit(1);} - variable11 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable9 /*tkwreadablenode5*/); /*new AReadAble*/ - variable10 = variable11; - variable11 = variable5 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5169,6--38\n"); nit_exit(1);} - variable12 = variable4 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5171,6--44\n"); nit_exit(1);} - variable13 = variable3 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5173,6--36\n"); nit_exit(1);} - variable14 = variable2 /*nodearraylist6*/; - variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5175,6--37\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, variable10 /*pablenode3*/, NIT_NULL /*null*/, variable11 /*tkwredefnode7*/, variable12 /*pvisibilitynode8*/, variable13 /*tkwattrnode9*/, variable14 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable15 = variable16; - variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction101___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction101::init (src/parser//parser.nit:5190,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction101].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction101].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction102___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction102::action (src/parser//parser.nit:5194,2--5241:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5206,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5208,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5210,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/ - variable13 = variable14; - variable14 = variable6 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5216,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable14 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable15 = variable16; - variable16 = variable5 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5222,6--38\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5224,6--45\n"); nit_exit(1);} - variable18 = variable3 /*nodearraylist7*/; - variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5226,6--37\n"); nit_exit(1);} - variable19 = variable2 /*nodearraylist8*/; - variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5228,6--37\n"); nit_exit(1);} - variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable13 /*pablenode3*/, variable15 /*pablenode6*/, variable16 /*tkwredefnode9*/, variable17 /*pvisibilitynode10*/, variable18 /*tkwattrnode11*/, variable19 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable20 = variable21; - variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/; - variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction102___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction102::init (src/parser//parser.nit:5243,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction102].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction102].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction103___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction103::action (src/parser//parser.nit:5247,2--5297:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5260,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5262,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5264,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/ - variable14 = variable15; - variable15 = variable7 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5270,6--38\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5272,6--44\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/, variable16 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable17 = variable18; - variable18 = variable5 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5278,6--38\n"); nit_exit(1);} - variable19 = variable4 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5280,6--45\n"); nit_exit(1);} - variable20 = variable3 /*nodearraylist8*/; - variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5282,6--37\n"); nit_exit(1);} - variable21 = variable2 /*nodearraylist9*/; - variable22 = TAG_Bool(( variable21 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable21 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5284,6--37\n"); nit_exit(1);} - variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable14 /*pablenode3*/, variable17 /*pablenode6*/, variable18 /*tkwredefnode9*/, variable19 /*pvisibilitynode10*/, variable20 /*tkwattrnode11*/, variable21 /*tattridnode12*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable22 = variable23; - variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/; - variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction103___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction103::init (src/parser//parser.nit:5299,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction103].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction103].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction104___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction104::action (src/parser//parser.nit:5303,2--5343:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5314,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5316,6--38\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5318,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/ - variable12 = variable13; - variable13 = variable5 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5324,6--38\n"); nit_exit(1);} - variable14 = variable4 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5326,6--44\n"); nit_exit(1);} - variable15 = variable3 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5328,6--36\n"); nit_exit(1);} - variable16 = variable2 /*nodearraylist7*/; - variable17 = TAG_Bool(( variable16 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5330,6--37\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable12 /*pablenode3*/, NIT_NULL /*null*/, variable13 /*tkwredefnode7*/, variable14 /*pvisibilitynode8*/, variable15 /*tkwattrnode9*/, variable16 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction104___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction104::init (src/parser//parser.nit:5345,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction104].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction104].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction105___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction105::action (src/parser//parser.nit:5349,2--5386:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5359,6--30\n"); nit_exit(1);} - variable9 = variable6 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable9 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5361,6--44\n"); nit_exit(1);} - variable11 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable9 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable10 = variable11; - variable11 = variable5 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5367,6--38\n"); nit_exit(1);} - variable12 = variable4 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5369,6--44\n"); nit_exit(1);} - variable13 = variable3 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5371,6--36\n"); nit_exit(1);} - variable14 = variable2 /*nodearraylist6*/; - variable15 = TAG_Bool(( variable14 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5373,6--37\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pablenode4*/, variable11 /*tkwredefnode7*/, variable12 /*pvisibilitynode8*/, variable13 /*tkwattrnode9*/, variable14 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable15 = variable16; - variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction105___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction105::init (src/parser//parser.nit:5388,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction105].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction105].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction106___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction106::action (src/parser//parser.nit:5392,2--5432:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5403,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5405,6--38\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5407,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AWriteAble___init_awriteable( variable10 /*tkwredefnode5*/, variable11 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable12 = variable13; - variable13 = variable5 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5413,6--38\n"); nit_exit(1);} - variable14 = variable4 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5415,6--44\n"); nit_exit(1);} - variable15 = variable3 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5417,6--36\n"); nit_exit(1);} - variable16 = variable2 /*nodearraylist7*/; - variable17 = TAG_Bool(( variable16 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5419,6--37\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable12 /*pablenode4*/, variable13 /*tkwredefnode7*/, variable14 /*pvisibilitynode8*/, variable15 /*tkwattrnode9*/, variable16 /*tattridnode10*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction106___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction106::init (src/parser//parser.nit:5434,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction106].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction106].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction107___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction107::action (src/parser//parser.nit:5438,2--5468:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable7 = variable6 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5447,6--30\n"); nit_exit(1);} - variable8 = variable5 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable8 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5449,6--38\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable9 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5451,6--44\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist4*/; - variable11 = TAG_Bool(( variable10 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable10 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5453,6--36\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist5*/; - variable12 = TAG_Bool(( variable11 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable11 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5455,6--36\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable8 /*tkwredefnode5*/, variable9 /*pvisibilitynode6*/, variable10 /*tkwattrnode7*/, variable11 /*tattridnode8*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable12 = variable13; - variable1 = variable12 /*ppropdefnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction107___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction107::init (src/parser//parser.nit:5470,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction107].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction107].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction108___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction108::action (src/parser//parser.nit:5474,2--5518:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5485,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5487,6--44\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable10 /*tkwreadablenode5*/); /*new AReadAble*/ - variable11 = variable12; - variable12 = variable6 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5493,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable12 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable13 = variable14; - variable14 = variable5 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5499,6--45\n"); nit_exit(1);} - variable15 = variable4 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5501,6--37\n"); nit_exit(1);} - variable16 = variable3 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5503,6--37\n"); nit_exit(1);} - variable17 = variable2 /*nodearraylist7*/; - variable18 = TAG_Bool(( variable17 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable17 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5505,6--33\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable11 /*pablenode3*/, variable13 /*pablenode6*/, NIT_NULL /*null*/, variable14 /*pvisibilitynode10*/, variable15 /*tkwattrnode11*/, variable16 /*tattridnode12*/, variable17 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable18 = variable19; - variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction108___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction108::init (src/parser//parser.nit:5520,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction108].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction108].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction109___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction109::action (src/parser//parser.nit:5524,2--5571:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5536,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5538,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/ - variable12 = variable13; - variable13 = variable7 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5544,6--38\n"); nit_exit(1);} - variable14 = variable6 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5546,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode7*/, variable14 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable15 = variable16; - variable16 = variable5 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5552,6--45\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5554,6--37\n"); nit_exit(1);} - variable18 = variable3 /*nodearraylist7*/; - variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5556,6--37\n"); nit_exit(1);} - variable19 = variable2 /*nodearraylist8*/; - variable20 = TAG_Bool(( variable19 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5558,6--33\n"); nit_exit(1);} - variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable12 /*pablenode3*/, variable15 /*pablenode6*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode10*/, variable17 /*tkwattrnode11*/, variable18 /*tattridnode12*/, variable19 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable20 = variable21; - variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/; - variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction109___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction109::init (src/parser//parser.nit:5573,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction109].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction109].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction110___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction110::action (src/parser//parser.nit:5577,2--5614:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5587,6--30\n"); nit_exit(1);} - variable9 = variable6 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5589,6--44\n"); nit_exit(1);} - variable11 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable9 /*tkwreadablenode5*/); /*new AReadAble*/ - variable10 = variable11; - variable11 = variable5 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5595,6--44\n"); nit_exit(1);} - variable12 = variable4 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable12 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5597,6--36\n"); nit_exit(1);} - variable13 = variable3 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable13 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5599,6--37\n"); nit_exit(1);} - variable14 = variable2 /*nodearraylist6*/; - variable15 = TAG_Bool(( variable14 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5601,6--33\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, variable10 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode8*/, variable12 /*tkwattrnode9*/, variable13 /*tattridnode10*/, variable14 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable15 = variable16; - variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction110___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction110::init (src/parser//parser.nit:5616,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction110].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction110].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction111___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction111::action (src/parser//parser.nit:5620,2--5667:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5632,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5634,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5636,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/ - variable13 = variable14; - variable14 = variable6 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5642,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable14 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable15 = variable16; - variable16 = variable5 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5648,6--45\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5650,6--37\n"); nit_exit(1);} - variable18 = variable3 /*nodearraylist7*/; - variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5652,6--37\n"); nit_exit(1);} - variable19 = variable2 /*nodearraylist8*/; - variable20 = TAG_Bool(( variable19 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5654,6--33\n"); nit_exit(1);} - variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable13 /*pablenode3*/, variable15 /*pablenode6*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode10*/, variable17 /*tkwattrnode11*/, variable18 /*tattridnode12*/, variable19 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable20 = variable21; - variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/; - variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction111___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction111::init (src/parser//parser.nit:5669,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction111].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction111].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction112___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction112::action (src/parser//parser.nit:5673,2--5723:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5686,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5688,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5690,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/ - variable14 = variable15; - variable15 = variable7 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5696,6--38\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5698,6--44\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/, variable16 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable17 = variable18; - variable18 = variable5 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5704,6--45\n"); nit_exit(1);} - variable19 = variable4 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5706,6--37\n"); nit_exit(1);} - variable20 = variable3 /*nodearraylist8*/; - variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5708,6--37\n"); nit_exit(1);} - variable21 = variable2 /*nodearraylist9*/; - variable22 = TAG_Bool(( variable21 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5710,6--33\n"); nit_exit(1);} - variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable14 /*pablenode3*/, variable17 /*pablenode6*/, NIT_NULL /*null*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, variable21 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable22 = variable23; - variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/; - variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction112___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction112::init (src/parser//parser.nit:5725,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction112].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction112].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction113___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction113::action (src/parser//parser.nit:5729,2--5769:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5740,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5742,6--38\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5744,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AReadAble___init_areadable( variable10 /*tkwredefnode4*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/ - variable12 = variable13; - variable13 = variable5 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5750,6--44\n"); nit_exit(1);} - variable14 = variable4 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5752,6--36\n"); nit_exit(1);} - variable15 = variable3 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5754,6--37\n"); nit_exit(1);} - variable16 = variable2 /*nodearraylist7*/; - variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5756,6--33\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable12 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, variable16 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction113___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction113::init (src/parser//parser.nit:5771,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction113].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction113].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction114___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction114::action (src/parser//parser.nit:5775,2--5812:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5785,6--30\n"); nit_exit(1);} - variable9 = variable6 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable9 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5787,6--44\n"); nit_exit(1);} - variable11 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable9 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable10 = variable11; - variable11 = variable5 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5793,6--44\n"); nit_exit(1);} - variable12 = variable4 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable12 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5795,6--36\n"); nit_exit(1);} - variable13 = variable3 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable13 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5797,6--37\n"); nit_exit(1);} - variable14 = variable2 /*nodearraylist6*/; - variable15 = TAG_Bool(( variable14 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5799,6--33\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pablenode4*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode8*/, variable12 /*tkwattrnode9*/, variable13 /*tattridnode10*/, variable14 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable15 = variable16; - variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction114___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction114::init (src/parser//parser.nit:5814,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction114].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction114].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction115___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction115::action (src/parser//parser.nit:5818,2--5858:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5829,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5831,6--38\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5833,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AWriteAble___init_awriteable( variable10 /*tkwredefnode5*/, variable11 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable12 = variable13; - variable13 = variable5 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5839,6--44\n"); nit_exit(1);} - variable14 = variable4 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5841,6--36\n"); nit_exit(1);} - variable15 = variable3 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5843,6--37\n"); nit_exit(1);} - variable16 = variable2 /*nodearraylist7*/; - variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5845,6--33\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable12 /*pablenode4*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, variable16 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction115___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction115::init (src/parser//parser.nit:5860,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction115].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction115].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction116___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction116::action (src/parser//parser.nit:5864,2--5894:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable7 = variable6 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5873,6--30\n"); nit_exit(1);} - variable8 = variable5 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5875,6--44\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable9 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5877,6--36\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist4*/; - variable11 = TAG_Bool(( variable10 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable10 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5879,6--36\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist5*/; - variable12 = TAG_Bool(( variable11 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5881,6--32\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable7 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable8 /*pvisibilitynode6*/, variable9 /*tkwattrnode7*/, variable10 /*tattridnode8*/, variable11 /*ptypenode9*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable12 = variable13; - variable1 = variable12 /*ppropdefnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction116___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction116::init (src/parser//parser.nit:5896,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction116].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction116].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction117___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction117::action (src/parser//parser.nit:5900,2--5947:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5912,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5914,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/ - variable12 = variable13; - variable13 = variable7 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5920,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable13 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable14 = variable15; - variable15 = variable6 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5926,6--38\n"); nit_exit(1);} - variable16 = variable5 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5928,6--45\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5930,6--37\n"); nit_exit(1);} - variable18 = variable3 /*nodearraylist7*/; - variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5932,6--37\n"); nit_exit(1);} - variable19 = variable2 /*nodearraylist8*/; - variable20 = TAG_Bool(( variable19 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5934,6--33\n"); nit_exit(1);} - variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable12 /*pablenode3*/, variable14 /*pablenode6*/, variable15 /*tkwredefnode9*/, variable16 /*pvisibilitynode10*/, variable17 /*tkwattrnode11*/, variable18 /*tattridnode12*/, variable19 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable20 = variable21; - variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/; - variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction117___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction117::init (src/parser//parser.nit:5949,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction117].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction117].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction118___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction118::action (src/parser//parser.nit:5953,2--6003:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5966,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5968,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/ - variable13 = variable14; - variable14 = variable8 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5974,6--38\n"); nit_exit(1);} - variable15 = variable7 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5976,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode7*/, variable15 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable16 = variable17; - variable17 = variable6 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5982,6--38\n"); nit_exit(1);} - variable18 = variable5 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5984,6--45\n"); nit_exit(1);} - variable19 = variable4 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5986,6--37\n"); nit_exit(1);} - variable20 = variable3 /*nodearraylist8*/; - variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5988,6--37\n"); nit_exit(1);} - variable21 = variable2 /*nodearraylist9*/; - variable22 = TAG_Bool(( variable21 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:5990,6--33\n"); nit_exit(1);} - variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable13 /*pablenode3*/, variable16 /*pablenode6*/, variable17 /*tkwredefnode9*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, variable21 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable22 = variable23; - variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/; - variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction118___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction118::init (src/parser//parser.nit:6005,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction118].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction118].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction119___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction119::action (src/parser//parser.nit:6009,2--6049:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6020,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable10 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6022,6--44\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable10 /*tkwreadablenode5*/); /*new AReadAble*/ - variable11 = variable12; - variable12 = variable6 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6028,6--38\n"); nit_exit(1);} - variable13 = variable5 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6030,6--44\n"); nit_exit(1);} - variable14 = variable4 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6032,6--36\n"); nit_exit(1);} - variable15 = variable3 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6034,6--37\n"); nit_exit(1);} - variable16 = variable2 /*nodearraylist7*/; - variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6036,6--33\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, variable11 /*pablenode3*/, NIT_NULL /*null*/, variable12 /*tkwredefnode7*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, variable16 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction119___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction119::init (src/parser//parser.nit:6051,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction119].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction119].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction120___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction120::action (src/parser//parser.nit:6055,2--6105:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6068,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6070,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6072,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/ - variable14 = variable15; - variable15 = variable7 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6078,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable15 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable16 = variable17; - variable17 = variable6 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6084,6--38\n"); nit_exit(1);} - variable18 = variable5 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6086,6--45\n"); nit_exit(1);} - variable19 = variable4 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6088,6--37\n"); nit_exit(1);} - variable20 = variable3 /*nodearraylist8*/; - variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6090,6--37\n"); nit_exit(1);} - variable21 = variable2 /*nodearraylist9*/; - variable22 = TAG_Bool(( variable21 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6092,6--33\n"); nit_exit(1);} - variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable14 /*pablenode3*/, variable16 /*pablenode6*/, variable17 /*tkwredefnode9*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, variable21 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable22 = variable23; - variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/; - variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction120___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction120::init (src/parser//parser.nit:6107,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction120].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction120].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction121___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction121::action (src/parser//parser.nit:6111,2--6164:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6125,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6127,6--38\n"); nit_exit(1);} - variable14 = variable9 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6129,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/ - variable15 = variable16; - variable16 = variable8 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6135,6--38\n"); nit_exit(1);} - variable17 = variable7 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6137,6--44\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/, variable17 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable18 = variable19; - variable19 = variable6 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6143,6--38\n"); nit_exit(1);} - variable20 = variable5 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6145,6--45\n"); nit_exit(1);} - variable21 = variable4 /*nodearraylist8*/; - variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6147,6--37\n"); nit_exit(1);} - variable22 = variable3 /*nodearraylist9*/; - variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6149,6--37\n"); nit_exit(1);} - variable23 = variable2 /*nodearraylist10*/; - variable24 = TAG_Bool(( variable23 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable23 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6151,6--33\n"); nit_exit(1);} - variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable15 /*pablenode3*/, variable18 /*pablenode6*/, variable19 /*tkwredefnode9*/, variable20 /*pvisibilitynode10*/, variable21 /*tkwattrnode11*/, variable22 /*tattridnode12*/, variable23 /*ptypenode13*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable24 = variable25; - variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/; - variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction121___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction121::init (src/parser//parser.nit:6166,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction121].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction121].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction122___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction122::action (src/parser//parser.nit:6170,2--6213:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6182,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6184,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6186,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AReadAble___init_areadable( variable11 /*tkwredefnode4*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/ - variable13 = variable14; - variable14 = variable6 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6192,6--38\n"); nit_exit(1);} - variable15 = variable5 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6194,6--44\n"); nit_exit(1);} - variable16 = variable4 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6196,6--36\n"); nit_exit(1);} - variable17 = variable3 /*nodearraylist7*/; - variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6198,6--37\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist8*/; - variable19 = TAG_Bool(( variable18 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable18 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6200,6--33\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable13 /*pablenode3*/, NIT_NULL /*null*/, variable14 /*tkwredefnode7*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, variable18 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable19 = variable20; - variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction122___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction122::init (src/parser//parser.nit:6215,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction122].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction122].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction123___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction123::action (src/parser//parser.nit:6219,2--6259:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6230,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable10 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6232,6--44\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable10 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable11 = variable12; - variable12 = variable6 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6238,6--38\n"); nit_exit(1);} - variable13 = variable5 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6240,6--44\n"); nit_exit(1);} - variable14 = variable4 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6242,6--36\n"); nit_exit(1);} - variable15 = variable3 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6244,6--37\n"); nit_exit(1);} - variable16 = variable2 /*nodearraylist7*/; - variable17 = TAG_Bool(( variable16 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6246,6--33\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pablenode4*/, variable12 /*tkwredefnode7*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, variable16 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction123___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction123::init (src/parser//parser.nit:6261,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction123].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction123].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction124___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction124::action (src/parser//parser.nit:6265,2--6308:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6277,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6279,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6281,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AWriteAble___init_awriteable( variable11 /*tkwredefnode5*/, variable12 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable13 = variable14; - variable14 = variable6 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6287,6--38\n"); nit_exit(1);} - variable15 = variable5 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6289,6--44\n"); nit_exit(1);} - variable16 = variable4 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6291,6--36\n"); nit_exit(1);} - variable17 = variable3 /*nodearraylist7*/; - variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6293,6--37\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist8*/; - variable19 = TAG_Bool(( variable18 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable18 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6295,6--33\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable13 /*pablenode4*/, variable14 /*tkwredefnode7*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, variable18 /*ptypenode11*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable19 = variable20; - variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction124___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction124::init (src/parser//parser.nit:6310,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction124].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction124].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction125___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction125::action (src/parser//parser.nit:6314,2--6347:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6324,6--30\n"); nit_exit(1);} - variable9 = variable6 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6326,6--38\n"); nit_exit(1);} - variable10 = variable5 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6328,6--44\n"); nit_exit(1);} - variable11 = variable4 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6330,6--36\n"); nit_exit(1);} - variable12 = variable3 /*nodearraylist5*/; - variable13 = TAG_Bool(( variable12 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6332,6--36\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist6*/; - variable14 = TAG_Bool(( variable13 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable13 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6334,6--32\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable8 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable9 /*tkwredefnode5*/, variable10 /*pvisibilitynode6*/, variable11 /*tkwattrnode7*/, variable12 /*tattridnode8*/, variable13 /*ptypenode9*/, NIT_NULL /*null*/); /*new AAttrPropdef*/ - variable14 = variable15; - variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction125___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction125::init (src/parser//parser.nit:6349,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction125].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction125].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction126___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction126::action (src/parser//parser.nit:6353,2--6399:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6366,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6368,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/ - variable13 = variable14; - variable14 = variable8 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6374,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable14 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable15 = variable16; - variable16 = variable7 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6380,6--45\n"); nit_exit(1);} - variable17 = variable6 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6382,6--37\n"); nit_exit(1);} - variable18 = variable5 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6384,6--37\n"); nit_exit(1);} - variable19 = variable2 /*nodearraylist9*/; - variable20 = TAG_Bool(( variable19 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable19 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6386,6--33\n"); nit_exit(1);} - variable21 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable13 /*pablenode3*/, variable15 /*pablenode6*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode10*/, variable17 /*tkwattrnode11*/, variable18 /*tattridnode12*/, NIT_NULL /*null*/, variable19 /*pexprnode14*/); /*new AAttrPropdef*/ - variable20 = variable21; - variable1 = variable20 /*ppropdefnode1*/ /*node_list=*/; - variable21 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable21, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction126___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction126::init (src/parser//parser.nit:6401,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction126].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction126].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction127___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction127::action (src/parser//parser.nit:6405,2--6454:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6419,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6421,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/ - variable14 = variable15; - variable15 = variable9 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6427,6--38\n"); nit_exit(1);} - variable16 = variable8 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6429,6--44\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AWriteAble___init_awriteable( variable15 /*tkwredefnode7*/, variable16 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable17 = variable18; - variable18 = variable7 /*nodearraylist5*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6435,6--45\n"); nit_exit(1);} - variable19 = variable6 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6437,6--37\n"); nit_exit(1);} - variable20 = variable5 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6439,6--37\n"); nit_exit(1);} - variable21 = variable2 /*nodearraylist10*/; - variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6441,6--33\n"); nit_exit(1);} - variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable14 /*pablenode3*/, variable17 /*pablenode6*/, NIT_NULL /*null*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, NIT_NULL /*null*/, variable21 /*pexprnode14*/); /*new AAttrPropdef*/ - variable22 = variable23; - variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/; - variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction127___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction127::init (src/parser//parser.nit:6456,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction127].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction127].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction128___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction128::action (src/parser//parser.nit:6460,2--6499:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6472,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6474,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable11 /*tkwreadablenode5*/); /*new AReadAble*/ - variable12 = variable13; - variable13 = variable7 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6480,6--44\n"); nit_exit(1);} - variable14 = variable6 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6482,6--36\n"); nit_exit(1);} - variable15 = variable5 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6484,6--37\n"); nit_exit(1);} - variable16 = variable2 /*nodearraylist8*/; - variable17 = TAG_Bool(( variable16 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6486,6--33\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, variable12 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, NIT_NULL /*null*/, variable16 /*pexprnode12*/); /*new AAttrPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction128___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction128::init (src/parser//parser.nit:6501,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction128].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction128].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction129___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction129::action (src/parser//parser.nit:6505,2--6554:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6519,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6521,6--38\n"); nit_exit(1);} - variable14 = variable9 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6523,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/ - variable15 = variable16; - variable16 = variable8 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6529,6--44\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable16 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable17 = variable18; - variable18 = variable7 /*nodearraylist5*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6535,6--45\n"); nit_exit(1);} - variable19 = variable6 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6537,6--37\n"); nit_exit(1);} - variable20 = variable5 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6539,6--37\n"); nit_exit(1);} - variable21 = variable2 /*nodearraylist10*/; - variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6541,6--33\n"); nit_exit(1);} - variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable15 /*pablenode3*/, variable17 /*pablenode6*/, NIT_NULL /*null*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, NIT_NULL /*null*/, variable21 /*pexprnode14*/); /*new AAttrPropdef*/ - variable22 = variable23; - variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/; - variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction129___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction129::init (src/parser//parser.nit:6556,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction129].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction129].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction130___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction130::action (src/parser//parser.nit:6560,2--6612:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6575,6--30\n"); nit_exit(1);} - variable14 = variable11 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6577,6--38\n"); nit_exit(1);} - variable15 = variable10 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6579,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/, variable15 /*tkwreadablenode5*/); /*new AReadAble*/ - variable16 = variable17; - variable17 = variable9 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6585,6--38\n"); nit_exit(1);} - variable18 = variable8 /*nodearraylist5*/; - variable19 = TAG_Bool(( variable18 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable18 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6587,6--44\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AWriteAble___init_awriteable( variable17 /*tkwredefnode7*/, variable18 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable19 = variable20; - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6593,6--45\n"); nit_exit(1);} - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6595,6--37\n"); nit_exit(1);} - variable22 = variable5 /*nodearraylist8*/; - variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6597,6--37\n"); nit_exit(1);} - variable23 = variable2 /*nodearraylist11*/; - variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6599,6--33\n"); nit_exit(1);} - variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable16 /*pablenode3*/, variable19 /*pablenode6*/, NIT_NULL /*null*/, variable20 /*pvisibilitynode10*/, variable21 /*tkwattrnode11*/, variable22 /*tattridnode12*/, NIT_NULL /*null*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/ - variable24 = variable25; - variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/; - variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction130___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction130::init (src/parser//parser.nit:6614,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction130].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction130].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction131___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction131::action (src/parser//parser.nit:6618,2--6660:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6631,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6633,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6635,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AReadAble___init_areadable( variable12 /*tkwredefnode4*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/ - variable14 = variable15; - variable15 = variable7 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6641,6--44\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6643,6--36\n"); nit_exit(1);} - variable17 = variable5 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6645,6--37\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist9*/; - variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6647,6--33\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable14 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, NIT_NULL /*null*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/ - variable19 = variable20; - variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction131___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction131::init (src/parser//parser.nit:6662,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction131].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction131].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction132___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction132::action (src/parser//parser.nit:6666,2--6705:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6678,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable11 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6680,6--44\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable11 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable12 = variable13; - variable13 = variable7 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6686,6--44\n"); nit_exit(1);} - variable14 = variable6 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6688,6--36\n"); nit_exit(1);} - variable15 = variable5 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6690,6--37\n"); nit_exit(1);} - variable16 = variable2 /*nodearraylist8*/; - variable17 = TAG_Bool(( variable16 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6692,6--33\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable12 /*pablenode4*/, NIT_NULL /*null*/, variable13 /*pvisibilitynode8*/, variable14 /*tkwattrnode9*/, variable15 /*tattridnode10*/, NIT_NULL /*null*/, variable16 /*pexprnode12*/); /*new AAttrPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction132___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction132::init (src/parser//parser.nit:6707,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction132].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction132].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction133___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction133::action (src/parser//parser.nit:6711,2--6753:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6724,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6726,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6728,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AWriteAble___init_awriteable( variable12 /*tkwredefnode5*/, variable13 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable14 = variable15; - variable15 = variable7 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6734,6--44\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6736,6--36\n"); nit_exit(1);} - variable17 = variable5 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6738,6--37\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist9*/; - variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6740,6--33\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, variable14 /*pablenode4*/, NIT_NULL /*null*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, NIT_NULL /*null*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/ - variable19 = variable20; - variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction133___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction133::init (src/parser//parser.nit:6755,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction133].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction133].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction134___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction134::action (src/parser//parser.nit:6759,2--6791:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6770,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6772,6--44\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable11 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6774,6--36\n"); nit_exit(1);} - variable12 = variable5 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable12 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6776,6--36\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist7*/; - variable14 = TAG_Bool(( variable13 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6778,6--33\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode6*/, variable11 /*tkwattrnode7*/, variable12 /*tattridnode8*/, NIT_NULL /*null*/, variable13 /*pexprnode10*/); /*new AAttrPropdef*/ - variable14 = variable15; - variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction134___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction134::init (src/parser//parser.nit:6793,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction134].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction134].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction135___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction135::action (src/parser//parser.nit:6797,2--6846:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6811,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6813,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/ - variable14 = variable15; - variable15 = variable9 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6819,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable15 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable16 = variable17; - variable17 = variable8 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6825,6--38\n"); nit_exit(1);} - variable18 = variable7 /*nodearraylist5*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6827,6--45\n"); nit_exit(1);} - variable19 = variable6 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6829,6--37\n"); nit_exit(1);} - variable20 = variable5 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6831,6--37\n"); nit_exit(1);} - variable21 = variable2 /*nodearraylist10*/; - variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6833,6--33\n"); nit_exit(1);} - variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable14 /*pablenode3*/, variable16 /*pablenode6*/, variable17 /*tkwredefnode9*/, variable18 /*pvisibilitynode10*/, variable19 /*tkwattrnode11*/, variable20 /*tattridnode12*/, NIT_NULL /*null*/, variable21 /*pexprnode14*/); /*new AAttrPropdef*/ - variable22 = variable23; - variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/; - variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction135___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction135::init (src/parser//parser.nit:6848,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction135].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction135].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction136___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction136::action (src/parser//parser.nit:6852,2--6904:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6867,6--30\n"); nit_exit(1);} - variable14 = variable11 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6869,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/ - variable15 = variable16; - variable16 = variable10 /*nodearraylist3*/; - variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6875,6--38\n"); nit_exit(1);} - variable17 = variable9 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6877,6--44\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/, variable17 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable18 = variable19; - variable19 = variable8 /*nodearraylist5*/; - variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6883,6--38\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6885,6--45\n"); nit_exit(1);} - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6887,6--37\n"); nit_exit(1);} - variable22 = variable5 /*nodearraylist8*/; - variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6889,6--37\n"); nit_exit(1);} - variable23 = variable2 /*nodearraylist11*/; - variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6891,6--33\n"); nit_exit(1);} - variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable15 /*pablenode3*/, variable18 /*pablenode6*/, variable19 /*tkwredefnode9*/, variable20 /*pvisibilitynode10*/, variable21 /*tkwattrnode11*/, variable22 /*tattridnode12*/, NIT_NULL /*null*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/ - variable24 = variable25; - variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/; - variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction136___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction136::init (src/parser//parser.nit:6906,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction136].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction136].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction137___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction137::action (src/parser//parser.nit:6910,2--6952:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6923,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6925,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/ - variable13 = variable14; - variable14 = variable8 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6931,6--38\n"); nit_exit(1);} - variable15 = variable7 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6933,6--44\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6935,6--36\n"); nit_exit(1);} - variable17 = variable5 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6937,6--37\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist9*/; - variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6939,6--33\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable13 /*pablenode3*/, NIT_NULL /*null*/, variable14 /*tkwredefnode7*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, NIT_NULL /*null*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/ - variable19 = variable20; - variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction137___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction137::init (src/parser//parser.nit:6954,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction137].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction137].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction138___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction138::action (src/parser//parser.nit:6958,2--7010:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6973,6--30\n"); nit_exit(1);} - variable14 = variable11 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6975,6--38\n"); nit_exit(1);} - variable15 = variable10 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6977,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/, variable15 /*tkwreadablenode5*/); /*new AReadAble*/ - variable16 = variable17; - variable17 = variable9 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6983,6--44\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable17 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable18 = variable19; - variable19 = variable8 /*nodearraylist5*/; - variable20 = TAG_Bool(( variable19 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6989,6--38\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable20 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6991,6--45\n"); nit_exit(1);} - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable21 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6993,6--37\n"); nit_exit(1);} - variable22 = variable5 /*nodearraylist8*/; - variable23 = TAG_Bool(( variable22 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable22 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6995,6--37\n"); nit_exit(1);} - variable23 = variable2 /*nodearraylist11*/; - variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:6997,6--33\n"); nit_exit(1);} - variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable16 /*pablenode3*/, variable18 /*pablenode6*/, variable19 /*tkwredefnode9*/, variable20 /*pvisibilitynode10*/, variable21 /*tkwattrnode11*/, variable22 /*tattridnode12*/, NIT_NULL /*null*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/ - variable24 = variable25; - variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/; - variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction138___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction138::init (src/parser//parser.nit:7012,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction138].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction138].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction139___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction139::action (src/parser//parser.nit:7016,2--7071:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - val_t variable27; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable13 = variable14; - variable14 = variable13 /*nodearraylist1*/; - variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7032,6--30\n"); nit_exit(1);} - variable15 = variable12 /*nodearraylist2*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7034,6--38\n"); nit_exit(1);} - variable16 = variable11 /*nodearraylist3*/; - variable17 = TAG_Bool(( variable16 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable16 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7036,6--44\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/, variable16 /*tkwreadablenode5*/); /*new AReadAble*/ - variable17 = variable18; - variable18 = variable10 /*nodearraylist4*/; - variable19 = TAG_Bool(( variable18 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7042,6--38\n"); nit_exit(1);} - variable19 = variable9 /*nodearraylist5*/; - variable20 = TAG_Bool(( variable19 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable19 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7044,6--44\n"); nit_exit(1);} - variable21 = NEW_parser_prod___AWriteAble___init_awriteable( variable18 /*tkwredefnode7*/, variable19 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable20 = variable21; - variable21 = variable8 /*nodearraylist6*/; - variable22 = TAG_Bool(( variable21 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable21 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7050,6--38\n"); nit_exit(1);} - variable22 = variable7 /*nodearraylist7*/; - variable23 = TAG_Bool(( variable22 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable22 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7052,6--45\n"); nit_exit(1);} - variable23 = variable6 /*nodearraylist8*/; - variable24 = TAG_Bool(( variable23 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable23 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7054,6--37\n"); nit_exit(1);} - variable24 = variable5 /*nodearraylist9*/; - variable25 = TAG_Bool(( variable24 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable24 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7056,6--37\n"); nit_exit(1);} - variable25 = variable2 /*nodearraylist12*/; - variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7058,6--33\n"); nit_exit(1);} - variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/, variable17 /*pablenode3*/, variable20 /*pablenode6*/, variable21 /*tkwredefnode9*/, variable22 /*pvisibilitynode10*/, variable23 /*tkwattrnode11*/, variable24 /*tattridnode12*/, NIT_NULL /*null*/, variable25 /*pexprnode14*/); /*new AAttrPropdef*/ - variable26 = variable27; - variable1 = variable26 /*ppropdefnode1*/ /*node_list=*/; - variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable27, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction139___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction139::init (src/parser//parser.nit:7073,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction139].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction139].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction140___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction140::action (src/parser//parser.nit:7077,2--7122:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7091,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7093,6--38\n"); nit_exit(1);} - variable14 = variable9 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7095,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/ - variable15 = variable16; - variable16 = variable8 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7101,6--38\n"); nit_exit(1);} - variable17 = variable7 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7103,6--44\n"); nit_exit(1);} - variable18 = variable6 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7105,6--36\n"); nit_exit(1);} - variable19 = variable5 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7107,6--37\n"); nit_exit(1);} - variable20 = variable2 /*nodearraylist10*/; - variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7109,6--33\n"); nit_exit(1);} - variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable15 /*pablenode3*/, NIT_NULL /*null*/, variable16 /*tkwredefnode7*/, variable17 /*pvisibilitynode8*/, variable18 /*tkwattrnode9*/, variable19 /*tattridnode10*/, NIT_NULL /*null*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/ - variable21 = variable22; - variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/; - variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction140___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction140::init (src/parser//parser.nit:7124,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction140].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction140].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction141___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction141::action (src/parser//parser.nit:7128,2--7170:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7141,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7143,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable12 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable13 = variable14; - variable14 = variable8 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7149,6--38\n"); nit_exit(1);} - variable15 = variable7 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable15 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7151,6--44\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable16 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7153,6--36\n"); nit_exit(1);} - variable17 = variable5 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable17 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7155,6--37\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist9*/; - variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7157,6--33\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, variable13 /*pablenode4*/, variable14 /*tkwredefnode7*/, variable15 /*pvisibilitynode8*/, variable16 /*tkwattrnode9*/, variable17 /*tattridnode10*/, NIT_NULL /*null*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/ - variable19 = variable20; - variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction141___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction141::init (src/parser//parser.nit:7172,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction141].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction141].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction142___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction142::action (src/parser//parser.nit:7176,2--7221:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7190,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7192,6--38\n"); nit_exit(1);} - variable14 = variable9 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7194,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode5*/, variable14 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable15 = variable16; - variable16 = variable8 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7200,6--38\n"); nit_exit(1);} - variable17 = variable7 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7202,6--44\n"); nit_exit(1);} - variable18 = variable6 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7204,6--36\n"); nit_exit(1);} - variable19 = variable5 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7206,6--37\n"); nit_exit(1);} - variable20 = variable2 /*nodearraylist10*/; - variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7208,6--33\n"); nit_exit(1);} - variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, NIT_NULL /*null*/, variable15 /*pablenode4*/, variable16 /*tkwredefnode7*/, variable17 /*pvisibilitynode8*/, variable18 /*tkwattrnode9*/, variable19 /*tattridnode10*/, NIT_NULL /*null*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/ - variable21 = variable22; - variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/; - variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction142___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction142::init (src/parser//parser.nit:7223,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction142].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction142].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction143___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction143::action (src/parser//parser.nit:7227,2--7262:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7239,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7241,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7243,6--44\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable13 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7245,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable14 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7247,6--36\n"); nit_exit(1);} - variable15 = variable2 /*nodearraylist8*/; - variable16 = TAG_Bool(( variable15 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7249,6--33\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable11 /*tkwredefnode5*/, variable12 /*pvisibilitynode6*/, variable13 /*tkwattrnode7*/, variable14 /*tattridnode8*/, NIT_NULL /*null*/, variable15 /*pexprnode10*/); /*new AAttrPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction143___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction143::init (src/parser//parser.nit:7264,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction143].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction143].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction144___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction144::action (src/parser//parser.nit:7268,2--7317:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7282,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7284,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/ - variable14 = variable15; - variable15 = variable9 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7290,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable15 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable16 = variable17; - variable17 = variable8 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable17 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7296,6--45\n"); nit_exit(1);} - variable18 = variable7 /*nodearraylist5*/; - variable19 = TAG_Bool(( variable18 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable18 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7298,6--37\n"); nit_exit(1);} - variable19 = variable6 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable19 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7300,6--37\n"); nit_exit(1);} - variable20 = variable5 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable20 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7302,6--33\n"); nit_exit(1);} - variable21 = variable2 /*nodearraylist10*/; - variable22 = TAG_Bool(( variable21 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable21 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7304,6--33\n"); nit_exit(1);} - variable23 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable14 /*pablenode3*/, variable16 /*pablenode6*/, NIT_NULL /*null*/, variable17 /*pvisibilitynode10*/, variable18 /*tkwattrnode11*/, variable19 /*tattridnode12*/, variable20 /*ptypenode13*/, variable21 /*pexprnode14*/); /*new AAttrPropdef*/ - variable22 = variable23; - variable1 = variable22 /*ppropdefnode1*/ /*node_list=*/; - variable23 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable23, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction144___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction144::init (src/parser//parser.nit:7319,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction144].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction144].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction145___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction145::action (src/parser//parser.nit:7323,2--7375:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7338,6--30\n"); nit_exit(1);} - variable14 = variable11 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7340,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/ - variable15 = variable16; - variable16 = variable10 /*nodearraylist3*/; - variable17 = TAG_Bool(( variable16 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7346,6--38\n"); nit_exit(1);} - variable17 = variable9 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7348,6--44\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AWriteAble___init_awriteable( variable16 /*tkwredefnode7*/, variable17 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable18 = variable19; - variable19 = variable8 /*nodearraylist5*/; - variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7354,6--45\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7356,6--37\n"); nit_exit(1);} - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable21 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7358,6--37\n"); nit_exit(1);} - variable22 = variable5 /*nodearraylist8*/; - variable23 = TAG_Bool(( variable22 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable22 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7360,6--33\n"); nit_exit(1);} - variable23 = variable2 /*nodearraylist11*/; - variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7362,6--33\n"); nit_exit(1);} - variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable15 /*pablenode3*/, variable18 /*pablenode6*/, NIT_NULL /*null*/, variable19 /*pvisibilitynode10*/, variable20 /*tkwattrnode11*/, variable21 /*tattridnode12*/, variable22 /*ptypenode13*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/ - variable24 = variable25; - variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/; - variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction145___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction145::init (src/parser//parser.nit:7377,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction145].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction145].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction146___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction146::action (src/parser//parser.nit:7381,2--7423:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7394,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7396,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable12 /*tkwreadablenode5*/); /*new AReadAble*/ - variable13 = variable14; - variable14 = variable8 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7402,6--44\n"); nit_exit(1);} - variable15 = variable7 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7404,6--36\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7406,6--37\n"); nit_exit(1);} - variable17 = variable5 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable17 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7408,6--33\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist9*/; - variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7410,6--33\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, variable13 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable14 /*pvisibilitynode8*/, variable15 /*tkwattrnode9*/, variable16 /*tattridnode10*/, variable17 /*ptypenode11*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/ - variable19 = variable20; - variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction146___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction146::init (src/parser//parser.nit:7425,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction146].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction146].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction147___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction147::action (src/parser//parser.nit:7429,2--7481:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7444,6--30\n"); nit_exit(1);} - variable14 = variable11 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7446,6--38\n"); nit_exit(1);} - variable15 = variable10 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7448,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/, variable15 /*tkwreadablenode5*/); /*new AReadAble*/ - variable16 = variable17; - variable17 = variable9 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable17 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7454,6--44\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable17 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable18 = variable19; - variable19 = variable8 /*nodearraylist5*/; - variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7460,6--45\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7462,6--37\n"); nit_exit(1);} - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable21 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7464,6--37\n"); nit_exit(1);} - variable22 = variable5 /*nodearraylist8*/; - variable23 = TAG_Bool(( variable22 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable22 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7466,6--33\n"); nit_exit(1);} - variable23 = variable2 /*nodearraylist11*/; - variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7468,6--33\n"); nit_exit(1);} - variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable16 /*pablenode3*/, variable18 /*pablenode6*/, NIT_NULL /*null*/, variable19 /*pvisibilitynode10*/, variable20 /*tkwattrnode11*/, variable21 /*tattridnode12*/, variable22 /*ptypenode13*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/ - variable24 = variable25; - variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/; - variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction147___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction147::init (src/parser//parser.nit:7483,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction147].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction147].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction148___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction148::action (src/parser//parser.nit:7487,2--7542:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - val_t variable27; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable13 = variable14; - variable14 = variable13 /*nodearraylist1*/; - variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7503,6--30\n"); nit_exit(1);} - variable15 = variable12 /*nodearraylist2*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7505,6--38\n"); nit_exit(1);} - variable16 = variable11 /*nodearraylist3*/; - variable17 = TAG_Bool(( variable16 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable16 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7507,6--44\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/, variable16 /*tkwreadablenode5*/); /*new AReadAble*/ - variable17 = variable18; - variable18 = variable10 /*nodearraylist4*/; - variable19 = TAG_Bool(( variable18 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7513,6--38\n"); nit_exit(1);} - variable19 = variable9 /*nodearraylist5*/; - variable20 = TAG_Bool(( variable19 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable19 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7515,6--44\n"); nit_exit(1);} - variable21 = NEW_parser_prod___AWriteAble___init_awriteable( variable18 /*tkwredefnode7*/, variable19 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable20 = variable21; - variable21 = variable8 /*nodearraylist6*/; - variable22 = TAG_Bool(( variable21 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable21 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7521,6--45\n"); nit_exit(1);} - variable22 = variable7 /*nodearraylist7*/; - variable23 = TAG_Bool(( variable22 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable22 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7523,6--37\n"); nit_exit(1);} - variable23 = variable6 /*nodearraylist8*/; - variable24 = TAG_Bool(( variable23 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable23 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7525,6--37\n"); nit_exit(1);} - variable24 = variable5 /*nodearraylist9*/; - variable25 = TAG_Bool(( variable24 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable24 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7527,6--33\n"); nit_exit(1);} - variable25 = variable2 /*nodearraylist12*/; - variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7529,6--33\n"); nit_exit(1);} - variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/, variable17 /*pablenode3*/, variable20 /*pablenode6*/, NIT_NULL /*null*/, variable21 /*pvisibilitynode10*/, variable22 /*tkwattrnode11*/, variable23 /*tattridnode12*/, variable24 /*ptypenode13*/, variable25 /*pexprnode14*/); /*new AAttrPropdef*/ - variable26 = variable27; - variable1 = variable26 /*ppropdefnode1*/ /*node_list=*/; - variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable27, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction148___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction148::init (src/parser//parser.nit:7544,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction148].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction148].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction149___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction149::action (src/parser//parser.nit:7548,2--7593:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7562,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7564,6--38\n"); nit_exit(1);} - variable14 = variable9 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7566,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AReadAble___init_areadable( variable13 /*tkwredefnode4*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/ - variable15 = variable16; - variable16 = variable8 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7572,6--44\n"); nit_exit(1);} - variable17 = variable7 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7574,6--36\n"); nit_exit(1);} - variable18 = variable6 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7576,6--37\n"); nit_exit(1);} - variable19 = variable5 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7578,6--33\n"); nit_exit(1);} - variable20 = variable2 /*nodearraylist10*/; - variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7580,6--33\n"); nit_exit(1);} - variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable15 /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode8*/, variable17 /*tkwattrnode9*/, variable18 /*tattridnode10*/, variable19 /*ptypenode11*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/ - variable21 = variable22; - variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/; - variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction149___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction149::init (src/parser//parser.nit:7595,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction149].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction149].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction150___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction150::action (src/parser//parser.nit:7599,2--7641:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7612,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable12 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7614,6--44\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable12 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable13 = variable14; - variable14 = variable8 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7620,6--44\n"); nit_exit(1);} - variable15 = variable7 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable15 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7622,6--36\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable16 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7624,6--37\n"); nit_exit(1);} - variable17 = variable5 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable17 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7626,6--33\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist9*/; - variable19 = TAG_Bool(( variable18 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7628,6--33\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, variable13 /*pablenode4*/, NIT_NULL /*null*/, variable14 /*pvisibilitynode8*/, variable15 /*tkwattrnode9*/, variable16 /*tattridnode10*/, variable17 /*ptypenode11*/, variable18 /*pexprnode12*/); /*new AAttrPropdef*/ - variable19 = variable20; - variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction150___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction150::init (src/parser//parser.nit:7643,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction150].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction150].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction151___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction151::action (src/parser//parser.nit:7647,2--7692:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7661,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7663,6--38\n"); nit_exit(1);} - variable14 = variable9 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable14 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7665,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AWriteAble___init_awriteable( variable13 /*tkwredefnode5*/, variable14 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable15 = variable16; - variable16 = variable8 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7671,6--44\n"); nit_exit(1);} - variable17 = variable7 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7673,6--36\n"); nit_exit(1);} - variable18 = variable6 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7675,6--37\n"); nit_exit(1);} - variable19 = variable5 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7677,6--33\n"); nit_exit(1);} - variable20 = variable2 /*nodearraylist10*/; - variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7679,6--33\n"); nit_exit(1);} - variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, NIT_NULL /*null*/, variable15 /*pablenode4*/, NIT_NULL /*null*/, variable16 /*pvisibilitynode8*/, variable17 /*tkwattrnode9*/, variable18 /*tattridnode10*/, variable19 /*ptypenode11*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/ - variable21 = variable22; - variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/; - variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction151___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction151::init (src/parser//parser.nit:7694,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction151].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction151].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction152___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction152::action (src/parser//parser.nit:7698,2--7733:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7710,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7712,6--44\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable12 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7714,6--36\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable13 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7716,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable14 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7718,6--32\n"); nit_exit(1);} - variable15 = variable2 /*nodearraylist8*/; - variable16 = TAG_Bool(( variable15 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7720,6--33\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode6*/, variable12 /*tkwattrnode7*/, variable13 /*tattridnode8*/, variable14 /*ptypenode9*/, variable15 /*pexprnode10*/); /*new AAttrPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction152___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction152::init (src/parser//parser.nit:7735,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction152].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction152].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction153___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction153::action (src/parser//parser.nit:7739,2--7791:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7754,6--30\n"); nit_exit(1);} - variable14 = variable11 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7756,6--44\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable14 /*tkwreadablenode5*/); /*new AReadAble*/ - variable15 = variable16; - variable16 = variable10 /*nodearraylist3*/; - variable17 = TAG_Bool(( variable16 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable16 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7762,6--44\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable16 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable17 = variable18; - variable18 = variable9 /*nodearraylist4*/; - variable19 = TAG_Bool(( variable18 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable18 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7768,6--38\n"); nit_exit(1);} - variable19 = variable8 /*nodearraylist5*/; - variable20 = TAG_Bool(( variable19 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable19 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7770,6--45\n"); nit_exit(1);} - variable20 = variable7 /*nodearraylist6*/; - variable21 = TAG_Bool(( variable20 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable20 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7772,6--37\n"); nit_exit(1);} - variable21 = variable6 /*nodearraylist7*/; - variable22 = TAG_Bool(( variable21 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable21 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7774,6--37\n"); nit_exit(1);} - variable22 = variable5 /*nodearraylist8*/; - variable23 = TAG_Bool(( variable22 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable22 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7776,6--33\n"); nit_exit(1);} - variable23 = variable2 /*nodearraylist11*/; - variable24 = TAG_Bool(( variable23 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable23 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7778,6--33\n"); nit_exit(1);} - variable25 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable15 /*pablenode3*/, variable17 /*pablenode6*/, variable18 /*tkwredefnode9*/, variable19 /*pvisibilitynode10*/, variable20 /*tkwattrnode11*/, variable21 /*tattridnode12*/, variable22 /*ptypenode13*/, variable23 /*pexprnode14*/); /*new AAttrPropdef*/ - variable24 = variable25; - variable1 = variable24 /*ppropdefnode1*/ /*node_list=*/; - variable25 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable25, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction153___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction153::init (src/parser//parser.nit:7793,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction153].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction153].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction154___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction154::action (src/parser//parser.nit:7797,2--7852:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - val_t variable27; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable13 = variable14; - variable14 = variable13 /*nodearraylist1*/; - variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7813,6--30\n"); nit_exit(1);} - variable15 = variable12 /*nodearraylist2*/; - variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7815,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable15 /*tkwreadablenode5*/); /*new AReadAble*/ - variable16 = variable17; - variable17 = variable11 /*nodearraylist3*/; - variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7821,6--38\n"); nit_exit(1);} - variable18 = variable10 /*nodearraylist4*/; - variable19 = TAG_Bool(( variable18 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable18 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7823,6--44\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AWriteAble___init_awriteable( variable17 /*tkwredefnode7*/, variable18 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable19 = variable20; - variable20 = variable9 /*nodearraylist5*/; - variable21 = TAG_Bool(( variable20 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7829,6--38\n"); nit_exit(1);} - variable21 = variable8 /*nodearraylist6*/; - variable22 = TAG_Bool(( variable21 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable21 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7831,6--45\n"); nit_exit(1);} - variable22 = variable7 /*nodearraylist7*/; - variable23 = TAG_Bool(( variable22 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable22 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7833,6--37\n"); nit_exit(1);} - variable23 = variable6 /*nodearraylist8*/; - variable24 = TAG_Bool(( variable23 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable23 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7835,6--37\n"); nit_exit(1);} - variable24 = variable5 /*nodearraylist9*/; - variable25 = TAG_Bool(( variable24 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable24 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7837,6--33\n"); nit_exit(1);} - variable25 = variable2 /*nodearraylist12*/; - variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7839,6--33\n"); nit_exit(1);} - variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/, variable16 /*pablenode3*/, variable19 /*pablenode6*/, variable20 /*tkwredefnode9*/, variable21 /*pvisibilitynode10*/, variable22 /*tkwattrnode11*/, variable23 /*tattridnode12*/, variable24 /*ptypenode13*/, variable25 /*pexprnode14*/); /*new AAttrPropdef*/ - variable26 = variable27; - variable1 = variable26 /*ppropdefnode1*/ /*node_list=*/; - variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable27, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction154___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction154::init (src/parser//parser.nit:7854,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction154].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction154].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction155___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction155::action (src/parser//parser.nit:7858,2--7903:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7872,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7874,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable13 /*tkwreadablenode5*/); /*new AReadAble*/ - variable14 = variable15; - variable15 = variable9 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7880,6--38\n"); nit_exit(1);} - variable16 = variable8 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7882,6--44\n"); nit_exit(1);} - variable17 = variable7 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7884,6--36\n"); nit_exit(1);} - variable18 = variable6 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7886,6--37\n"); nit_exit(1);} - variable19 = variable5 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7888,6--33\n"); nit_exit(1);} - variable20 = variable2 /*nodearraylist10*/; - variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7890,6--33\n"); nit_exit(1);} - variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, variable14 /*pablenode3*/, NIT_NULL /*null*/, variable15 /*tkwredefnode7*/, variable16 /*pvisibilitynode8*/, variable17 /*tkwattrnode9*/, variable18 /*tattridnode10*/, variable19 /*ptypenode11*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/ - variable21 = variable22; - variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/; - variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction155___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction155::init (src/parser//parser.nit:7905,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction155].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction155].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction156___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction156::action (src/parser//parser.nit:7909,2--7964:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - val_t variable27; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable13 = variable14; - variable14 = variable13 /*nodearraylist1*/; - variable15 = TAG_Bool(( variable14 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable14 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7925,6--30\n"); nit_exit(1);} - variable15 = variable12 /*nodearraylist2*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7927,6--38\n"); nit_exit(1);} - variable16 = variable11 /*nodearraylist3*/; - variable17 = TAG_Bool(( variable16 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable16 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7929,6--44\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AReadAble___init_areadable( variable15 /*tkwredefnode4*/, variable16 /*tkwreadablenode5*/); /*new AReadAble*/ - variable17 = variable18; - variable18 = variable10 /*nodearraylist4*/; - variable19 = TAG_Bool(( variable18 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable18 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7935,6--44\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable18 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable19 = variable20; - variable20 = variable9 /*nodearraylist5*/; - variable21 = TAG_Bool(( variable20 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable20 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7941,6--38\n"); nit_exit(1);} - variable21 = variable8 /*nodearraylist6*/; - variable22 = TAG_Bool(( variable21 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable21 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7943,6--45\n"); nit_exit(1);} - variable22 = variable7 /*nodearraylist7*/; - variable23 = TAG_Bool(( variable22 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable22 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7945,6--37\n"); nit_exit(1);} - variable23 = variable6 /*nodearraylist8*/; - variable24 = TAG_Bool(( variable23 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable23 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7947,6--37\n"); nit_exit(1);} - variable24 = variable5 /*nodearraylist9*/; - variable25 = TAG_Bool(( variable24 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable24 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7949,6--33\n"); nit_exit(1);} - variable25 = variable2 /*nodearraylist12*/; - variable26 = TAG_Bool(( variable25 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable25 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7951,6--33\n"); nit_exit(1);} - variable27 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable14 /*pdocnode2*/, variable17 /*pablenode3*/, variable19 /*pablenode6*/, variable20 /*tkwredefnode9*/, variable21 /*pvisibilitynode10*/, variable22 /*tkwattrnode11*/, variable23 /*tattridnode12*/, variable24 /*ptypenode13*/, variable25 /*pexprnode14*/); /*new AAttrPropdef*/ - variable26 = variable27; - variable1 = variable26 /*ppropdefnode1*/ /*node_list=*/; - variable27 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable27, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction156___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction156::init (src/parser//parser.nit:7966,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction156].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction156].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction157___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction157::action (src/parser//parser.nit:7970,2--8028:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - val_t variable25; - val_t variable26; - val_t variable27; - val_t variable28; - val_t variable29; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable14 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable13 = variable14; - variable15 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable14 = variable15; - variable15 = variable14 /*nodearraylist1*/; - variable16 = TAG_Bool(( variable15 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable15 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7987,6--30\n"); nit_exit(1);} - variable16 = variable13 /*nodearraylist2*/; - variable17 = TAG_Bool(( variable16 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable16 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7989,6--38\n"); nit_exit(1);} - variable17 = variable12 /*nodearraylist3*/; - variable18 = TAG_Bool(( variable17 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable17 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7991,6--44\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AReadAble___init_areadable( variable16 /*tkwredefnode4*/, variable17 /*tkwreadablenode5*/); /*new AReadAble*/ - variable18 = variable19; - variable19 = variable11 /*nodearraylist4*/; - variable20 = TAG_Bool(( variable19 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable19 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7997,6--38\n"); nit_exit(1);} - variable20 = variable10 /*nodearraylist5*/; - variable21 = TAG_Bool(( variable20 /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable20 /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:7999,6--44\n"); nit_exit(1);} - variable22 = NEW_parser_prod___AWriteAble___init_awriteable( variable19 /*tkwredefnode7*/, variable20 /*tkwwritablenode8*/); /*new AWriteAble*/ - variable21 = variable22; - variable22 = variable9 /*nodearraylist6*/; - variable23 = TAG_Bool(( variable22 /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable22 /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8005,6--38\n"); nit_exit(1);} - variable23 = variable8 /*nodearraylist7*/; - variable24 = TAG_Bool(( variable23 /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable23 /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable24)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8007,6--45\n"); nit_exit(1);} - variable24 = variable7 /*nodearraylist8*/; - variable25 = TAG_Bool(( variable24 /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable24 /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable25)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8009,6--37\n"); nit_exit(1);} - variable25 = variable6 /*nodearraylist9*/; - variable26 = TAG_Bool(( variable25 /*tattridnode12*/==NIT_NULL) || VAL_ISA( variable25 /*tattridnode12*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8011,6--37\n"); nit_exit(1);} - variable26 = variable5 /*nodearraylist10*/; - variable27 = TAG_Bool(( variable26 /*ptypenode13*/==NIT_NULL) || VAL_ISA( variable26 /*ptypenode13*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable27)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8013,6--33\n"); nit_exit(1);} - variable27 = variable2 /*nodearraylist13*/; - variable28 = TAG_Bool(( variable27 /*pexprnode14*/==NIT_NULL) || VAL_ISA( variable27 /*pexprnode14*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable28)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8015,6--33\n"); nit_exit(1);} - variable29 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable15 /*pdocnode2*/, variable18 /*pablenode3*/, variable21 /*pablenode6*/, variable22 /*tkwredefnode9*/, variable23 /*pvisibilitynode10*/, variable24 /*tkwattrnode11*/, variable25 /*tattridnode12*/, variable26 /*ptypenode13*/, variable27 /*pexprnode14*/); /*new AAttrPropdef*/ - variable28 = variable29; - variable1 = variable28 /*ppropdefnode1*/ /*node_list=*/; - variable29 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable29, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction157___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction157::init (src/parser//parser.nit:8030,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction157].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction157].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction158___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction158::action (src/parser//parser.nit:8034,2--8082:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8049,6--30\n"); nit_exit(1);} - variable14 = variable11 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8051,6--38\n"); nit_exit(1);} - variable15 = variable10 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8053,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AReadAble___init_areadable( variable14 /*tkwredefnode4*/, variable15 /*tkwreadablenode5*/); /*new AReadAble*/ - variable16 = variable17; - variable17 = variable9 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8059,6--38\n"); nit_exit(1);} - variable18 = variable8 /*nodearraylist5*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8061,6--44\n"); nit_exit(1);} - variable19 = variable7 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8063,6--36\n"); nit_exit(1);} - variable20 = variable6 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8065,6--37\n"); nit_exit(1);} - variable21 = variable5 /*nodearraylist8*/; - variable22 = TAG_Bool(( variable21 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8067,6--33\n"); nit_exit(1);} - variable22 = variable2 /*nodearraylist11*/; - variable23 = TAG_Bool(( variable22 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable22 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8069,6--33\n"); nit_exit(1);} - variable24 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, variable16 /*pablenode3*/, NIT_NULL /*null*/, variable17 /*tkwredefnode7*/, variable18 /*pvisibilitynode8*/, variable19 /*tkwattrnode9*/, variable20 /*tattridnode10*/, variable21 /*ptypenode11*/, variable22 /*pexprnode12*/); /*new AAttrPropdef*/ - variable23 = variable24; - variable1 = variable23 /*ppropdefnode1*/ /*node_list=*/; - variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction158___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction158::init (src/parser//parser.nit:8084,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction158].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction158].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction159___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction159::action (src/parser//parser.nit:8088,2--8133:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8102,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable13 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8104,6--44\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable13 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable14 = variable15; - variable15 = variable9 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable15 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8110,6--38\n"); nit_exit(1);} - variable16 = variable8 /*nodearraylist4*/; - variable17 = TAG_Bool(( variable16 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable16 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8112,6--44\n"); nit_exit(1);} - variable17 = variable7 /*nodearraylist5*/; - variable18 = TAG_Bool(( variable17 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable17 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8114,6--36\n"); nit_exit(1);} - variable18 = variable6 /*nodearraylist6*/; - variable19 = TAG_Bool(( variable18 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable18 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8116,6--37\n"); nit_exit(1);} - variable19 = variable5 /*nodearraylist7*/; - variable20 = TAG_Bool(( variable19 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable19 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8118,6--33\n"); nit_exit(1);} - variable20 = variable2 /*nodearraylist10*/; - variable21 = TAG_Bool(( variable20 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable20 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8120,6--33\n"); nit_exit(1);} - variable22 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable12 /*pdocnode2*/, NIT_NULL /*null*/, variable14 /*pablenode4*/, variable15 /*tkwredefnode7*/, variable16 /*pvisibilitynode8*/, variable17 /*tkwattrnode9*/, variable18 /*tattridnode10*/, variable19 /*ptypenode11*/, variable20 /*pexprnode12*/); /*new AAttrPropdef*/ - variable21 = variable22; - variable1 = variable21 /*ppropdefnode1*/ /*node_list=*/; - variable22 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable22, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction159___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction159::init (src/parser//parser.nit:8135,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction159].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction159].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction160___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction160::action (src/parser//parser.nit:8139,2--8187:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - val_t variable21; - val_t variable22; - val_t variable23; - val_t variable24; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable13 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8154,6--30\n"); nit_exit(1);} - variable14 = variable11 /*nodearraylist2*/; - variable15 = TAG_Bool(( variable14 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8156,6--38\n"); nit_exit(1);} - variable15 = variable10 /*nodearraylist3*/; - variable16 = TAG_Bool(( variable15 /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable15 /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8158,6--44\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AWriteAble___init_awriteable( variable14 /*tkwredefnode5*/, variable15 /*tkwwritablenode6*/); /*new AWriteAble*/ - variable16 = variable17; - variable17 = variable9 /*nodearraylist4*/; - variable18 = TAG_Bool(( variable17 /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable17 /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8164,6--38\n"); nit_exit(1);} - variable18 = variable8 /*nodearraylist5*/; - variable19 = TAG_Bool(( variable18 /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable18 /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8166,6--44\n"); nit_exit(1);} - variable19 = variable7 /*nodearraylist6*/; - variable20 = TAG_Bool(( variable19 /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable19 /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable20)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8168,6--36\n"); nit_exit(1);} - variable20 = variable6 /*nodearraylist7*/; - variable21 = TAG_Bool(( variable20 /*tattridnode10*/==NIT_NULL) || VAL_ISA( variable20 /*tattridnode10*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable21)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8170,6--37\n"); nit_exit(1);} - variable21 = variable5 /*nodearraylist8*/; - variable22 = TAG_Bool(( variable21 /*ptypenode11*/==NIT_NULL) || VAL_ISA( variable21 /*ptypenode11*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8172,6--33\n"); nit_exit(1);} - variable22 = variable2 /*nodearraylist11*/; - variable23 = TAG_Bool(( variable22 /*pexprnode12*/==NIT_NULL) || VAL_ISA( variable22 /*pexprnode12*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8174,6--33\n"); nit_exit(1);} - variable24 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable13 /*pdocnode2*/, NIT_NULL /*null*/, variable16 /*pablenode4*/, variable17 /*tkwredefnode7*/, variable18 /*pvisibilitynode8*/, variable19 /*tkwattrnode9*/, variable20 /*tattridnode10*/, variable21 /*ptypenode11*/, variable22 /*pexprnode12*/); /*new AAttrPropdef*/ - variable23 = variable24; - variable1 = variable23 /*ppropdefnode1*/ /*node_list=*/; - variable24 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable24, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction160___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction160::init (src/parser//parser.nit:8189,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction160].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction160].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction161___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction161::action (src/parser//parser.nit:8193,2--8231:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8206,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8208,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8210,6--44\n"); nit_exit(1);} - variable14 = variable7 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable14 /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8212,6--36\n"); nit_exit(1);} - variable15 = variable6 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*tattridnode8*/==NIT_NULL) || VAL_ISA( variable15 /*tattridnode8*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8214,6--36\n"); nit_exit(1);} - variable16 = variable5 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*ptypenode9*/==NIT_NULL) || VAL_ISA( variable16 /*ptypenode9*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8216,6--32\n"); nit_exit(1);} - variable17 = variable2 /*nodearraylist9*/; - variable18 = TAG_Bool(( variable17 /*pexprnode10*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode10*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8218,6--33\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AAttrPropdef___init_aattrpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable12 /*tkwredefnode5*/, variable13 /*pvisibilitynode6*/, variable14 /*tkwattrnode7*/, variable15 /*tattridnode8*/, variable16 /*ptypenode9*/, variable17 /*pexprnode10*/); /*new AAttrPropdef*/ - variable18 = variable19; - variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction161___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction161::init (src/parser//parser.nit:8233,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction161].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction161].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction162___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction162::action (src/parser//parser.nit:8237,2--8266:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8248,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8250,6--44\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8252,6--36\n"); nit_exit(1);} - variable12 = variable5 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8254,6--36\n"); nit_exit(1);} - variable13 = variable4 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8256,6--42\n"); nit_exit(1);} - variable15 = NEW_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwmethnode5*/, variable12 /*pmethidnode6*/, variable13 /*psignaturenode7*/); /*new ADeferredMethPropdef*/ - variable14 = variable15; - variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction162___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction162::init (src/parser//parser.nit:8268,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction162].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction162].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction163___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction163::action (src/parser//parser.nit:8272,2--8304:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8284,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8286,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8288,6--44\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8290,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8292,6--36\n"); nit_exit(1);} - variable15 = variable4 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8294,6--42\n"); nit_exit(1);} - variable17 = NEW_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef( variable10 /*pdocnode2*/, variable11 /*tkwredefnode3*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwmethnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/); /*new ADeferredMethPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction163___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction163::init (src/parser//parser.nit:8306,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction163].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction163].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction164___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction164::action (src/parser//parser.nit:8310,2--8339:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8321,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8323,6--44\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8325,6--36\n"); nit_exit(1);} - variable12 = variable5 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8327,6--36\n"); nit_exit(1);} - variable13 = variable4 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8329,6--42\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwmethnode5*/, variable12 /*pmethidnode6*/, variable13 /*psignaturenode7*/); /*new AInternMethPropdef*/ - variable14 = variable15; - variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction164___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction164::init (src/parser//parser.nit:8341,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction164].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction164].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction165___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction165::action (src/parser//parser.nit:8345,2--8377:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8357,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8359,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8361,6--44\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8363,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8365,6--36\n"); nit_exit(1);} - variable15 = variable4 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8367,6--42\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AInternMethPropdef___init_ainternmethpropdef( variable10 /*pdocnode2*/, variable11 /*tkwredefnode3*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwmethnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/); /*new AInternMethPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction165___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction165::init (src/parser//parser.nit:8379,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction165].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction165].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction166___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction166::action (src/parser//parser.nit:8383,2--8413:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8394,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8396,6--44\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8398,6--36\n"); nit_exit(1);} - variable12 = variable5 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8400,6--36\n"); nit_exit(1);} - variable13 = variable4 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8402,6--42\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwmethnode5*/, variable12 /*pmethidnode6*/, variable13 /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/ - variable14 = variable15; - variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction166___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction166::init (src/parser//parser.nit:8415,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction166].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction166].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction167___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction167::action (src/parser//parser.nit:8419,2--8452:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8431,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8433,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8435,6--44\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8437,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8439,6--36\n"); nit_exit(1);} - variable15 = variable4 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8441,6--42\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/, variable11 /*tkwredefnode3*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwmethnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction167___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction167::init (src/parser//parser.nit:8454,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction167].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction167].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction168___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction168::action (src/parser//parser.nit:8458,2--8491:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8470,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8472,6--44\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8474,6--36\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8476,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8478,6--42\n"); nit_exit(1);} - variable15 = variable2 /*nodearraylist8*/; - variable16 = TAG_Bool(( variable15 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable15 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8480,6--36\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwmethnode5*/, variable13 /*pmethidnode6*/, variable14 /*psignaturenode7*/, variable15 /*tstringnode8*/); /*new AExternMethPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction168___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction168::init (src/parser//parser.nit:8493,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction168].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction168].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction169___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction169::action (src/parser//parser.nit:8497,2--8533:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8510,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8512,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8514,6--44\n"); nit_exit(1);} - variable14 = variable7 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8516,6--36\n"); nit_exit(1);} - variable15 = variable6 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8518,6--36\n"); nit_exit(1);} - variable16 = variable5 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8520,6--42\n"); nit_exit(1);} - variable17 = variable2 /*nodearraylist9*/; - variable18 = TAG_Bool(( variable17 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable17 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8522,6--36\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwmethnode5*/, variable15 /*pmethidnode6*/, variable16 /*psignaturenode7*/, variable17 /*tstringnode8*/); /*new AExternMethPropdef*/ - variable18 = variable19; - variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction169___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction169::init (src/parser//parser.nit:8535,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction169].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction169].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction170___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction170::action (src/parser//parser.nit:8539,2--8572:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8551,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8553,6--44\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8555,6--36\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8557,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8559,6--42\n"); nit_exit(1);} - variable15 = variable2 /*nodearraylist8*/; - variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8561,6--32\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwmethnode5*/, variable13 /*pmethidnode6*/, variable14 /*psignaturenode7*/, variable15 /*pexprnode8*/); /*new AConcreteMethPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction170___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction170::init (src/parser//parser.nit:8574,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction170].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction170].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction171___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction171::action (src/parser//parser.nit:8578,2--8614:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8591,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8593,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8595,6--44\n"); nit_exit(1);} - variable14 = variable7 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8597,6--36\n"); nit_exit(1);} - variable15 = variable6 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8599,6--36\n"); nit_exit(1);} - variable16 = variable5 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8601,6--42\n"); nit_exit(1);} - variable17 = variable2 /*nodearraylist9*/; - variable18 = TAG_Bool(( variable17 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8603,6--32\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwmethnode5*/, variable15 /*pmethidnode6*/, variable16 /*psignaturenode7*/, variable17 /*pexprnode8*/); /*new AConcreteMethPropdef*/ - variable18 = variable19; - variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction171___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction171::init (src/parser//parser.nit:8616,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction171].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction171].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction172___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction172::action (src/parser//parser.nit:8620,2--8654:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8633,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8635,6--44\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8637,6--36\n"); nit_exit(1);} - variable14 = variable7 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8639,6--36\n"); nit_exit(1);} - variable15 = variable6 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8641,6--42\n"); nit_exit(1);} - variable16 = variable3 /*nodearraylist8*/; - variable17 = TAG_Bool(( variable16 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8643,6--32\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwmethnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/, variable16 /*pexprnode8*/); /*new AConcreteMethPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction172___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction172::init (src/parser//parser.nit:8656,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction172].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction172].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction173___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction173::action (src/parser//parser.nit:8660,2--8697:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8674,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8676,6--38\n"); nit_exit(1);} - variable14 = variable9 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8678,6--44\n"); nit_exit(1);} - variable15 = variable8 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8680,6--36\n"); nit_exit(1);} - variable16 = variable7 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8682,6--36\n"); nit_exit(1);} - variable17 = variable6 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable17 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8684,6--42\n"); nit_exit(1);} - variable18 = variable3 /*nodearraylist9*/; - variable19 = TAG_Bool(( variable18 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8686,6--32\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable12 /*pdocnode2*/, variable13 /*tkwredefnode3*/, variable14 /*pvisibilitynode4*/, variable15 /*tkwmethnode5*/, variable16 /*pmethidnode6*/, variable17 /*psignaturenode7*/, variable18 /*pexprnode8*/); /*new AConcreteMethPropdef*/ - variable19 = variable20; - variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction173___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction173::init (src/parser//parser.nit:8699,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction173].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction173].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction174___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction174::action (src/parser//parser.nit:8703,2--8733:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8714,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8716,6--44\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8718,6--36\n"); nit_exit(1);} - variable12 = variable5 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable12 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8720,6--42\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist7*/; - variable14 = TAG_Bool(( variable13 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8722,6--32\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwinitnode5*/, NIT_NULL /*null*/, variable12 /*psignaturenode7*/, variable13 /*pexprnode8*/); /*new AConcreteInitPropdef*/ - variable14 = variable15; - variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction174___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction174::init (src/parser//parser.nit:8735,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction174].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction174].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction175___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction175::action (src/parser//parser.nit:8739,2--8772:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8751,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8753,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8755,6--44\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8757,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8759,6--42\n"); nit_exit(1);} - variable15 = variable2 /*nodearraylist8*/; - variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8761,6--32\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/, variable11 /*tkwredefnode3*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwinitnode5*/, NIT_NULL /*null*/, variable14 /*psignaturenode7*/, variable15 /*pexprnode8*/); /*new AConcreteInitPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction175___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction175::init (src/parser//parser.nit:8774,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction175].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction175].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction176___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction176::action (src/parser//parser.nit:8778,2--8811:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8790,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8792,6--44\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8794,6--36\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8796,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8798,6--42\n"); nit_exit(1);} - variable15 = variable2 /*nodearraylist8*/; - variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8800,6--32\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwinitnode5*/, variable13 /*pmethidnode6*/, variable14 /*psignaturenode7*/, variable15 /*pexprnode8*/); /*new AConcreteInitPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction176___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction176::init (src/parser//parser.nit:8813,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction176].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction176].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction177___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction177::action (src/parser//parser.nit:8817,2--8853:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8830,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8832,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8834,6--44\n"); nit_exit(1);} - variable14 = variable7 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8836,6--36\n"); nit_exit(1);} - variable15 = variable6 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8838,6--36\n"); nit_exit(1);} - variable16 = variable5 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8840,6--42\n"); nit_exit(1);} - variable17 = variable2 /*nodearraylist9*/; - variable18 = TAG_Bool(( variable17 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8842,6--32\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwinitnode5*/, variable15 /*pmethidnode6*/, variable16 /*psignaturenode7*/, variable17 /*pexprnode8*/); /*new AConcreteInitPropdef*/ - variable18 = variable19; - variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction177___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction177::init (src/parser//parser.nit:8855,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction177].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction177].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction178___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction178::action (src/parser//parser.nit:8859,2--8890:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8871,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8873,6--44\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8875,6--36\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8877,6--42\n"); nit_exit(1);} - variable14 = variable3 /*nodearraylist7*/; - variable15 = TAG_Bool(( variable14 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8879,6--32\n"); nit_exit(1);} - variable16 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwinitnode5*/, NIT_NULL /*null*/, variable13 /*psignaturenode7*/, variable14 /*pexprnode8*/); /*new AConcreteInitPropdef*/ - variable15 = variable16; - variable1 = variable15 /*ppropdefnode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction178___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction178::init (src/parser//parser.nit:8892,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction178].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction178].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction179___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction179::action (src/parser//parser.nit:8896,2--8930:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8909,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8911,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8913,6--44\n"); nit_exit(1);} - variable14 = variable7 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8915,6--36\n"); nit_exit(1);} - variable15 = variable6 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8917,6--42\n"); nit_exit(1);} - variable16 = variable3 /*nodearraylist8*/; - variable17 = TAG_Bool(( variable16 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8919,6--32\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwinitnode5*/, NIT_NULL /*null*/, variable15 /*psignaturenode7*/, variable16 /*pexprnode8*/); /*new AConcreteInitPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction179___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction179::init (src/parser//parser.nit:8932,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction179].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction179].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction180___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction180::action (src/parser//parser.nit:8936,2--8970:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8949,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8951,6--44\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8953,6--36\n"); nit_exit(1);} - variable14 = variable7 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8955,6--36\n"); nit_exit(1);} - variable15 = variable6 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8957,6--42\n"); nit_exit(1);} - variable16 = variable3 /*nodearraylist8*/; - variable17 = TAG_Bool(( variable16 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8959,6--32\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable11 /*pdocnode2*/, NIT_NULL /*null*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwinitnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/, variable16 /*pexprnode8*/); /*new AConcreteInitPropdef*/ - variable17 = variable18; - variable1 = variable17 /*ppropdefnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction180___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction180::init (src/parser//parser.nit:8972,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction180].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction180].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction181___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction181::action (src/parser//parser.nit:8976,2--9013:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable12 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8990,6--30\n"); nit_exit(1);} - variable13 = variable10 /*nodearraylist2*/; - variable14 = TAG_Bool(( variable13 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable13 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8992,6--38\n"); nit_exit(1);} - variable14 = variable9 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable14 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8994,6--44\n"); nit_exit(1);} - variable15 = variable8 /*nodearraylist4*/; - variable16 = TAG_Bool(( variable15 /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable15 /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8996,6--36\n"); nit_exit(1);} - variable16 = variable7 /*nodearraylist5*/; - variable17 = TAG_Bool(( variable16 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable16 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:8998,6--36\n"); nit_exit(1);} - variable17 = variable6 /*nodearraylist6*/; - variable18 = TAG_Bool(( variable17 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable17 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9000,6--42\n"); nit_exit(1);} - variable18 = variable3 /*nodearraylist9*/; - variable19 = TAG_Bool(( variable18 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9002,6--32\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef( variable12 /*pdocnode2*/, variable13 /*tkwredefnode3*/, variable14 /*pvisibilitynode4*/, variable15 /*tkwinitnode5*/, variable16 /*pmethidnode6*/, variable17 /*psignaturenode7*/, variable18 /*pexprnode8*/); /*new AConcreteInitPropdef*/ - variable19 = variable20; - variable1 = variable19 /*ppropdefnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction181___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction181::init (src/parser//parser.nit:9015,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction181].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction181].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction182___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction182::action (src/parser//parser.nit:9019,2--9046:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable7 = variable6 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9028,6--30\n"); nit_exit(1);} - variable8 = variable5 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable8 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9030,6--44\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable9 /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9032,6--36\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist4*/; - variable11 = TAG_Bool(( variable10 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable10 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9034,6--38\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist5*/; - variable12 = TAG_Bool(( variable11 /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9036,6--32\n"); nit_exit(1);} - variable13 = NEW_parser_prod___ATypePropdef___init_atypepropdef( variable7 /*pdocnode2*/, NIT_NULL /*null*/, variable8 /*pvisibilitynode4*/, variable9 /*tkwtypenode5*/, variable10 /*tclassidnode6*/, variable11 /*ptypenode7*/); /*new ATypePropdef*/ - variable12 = variable13; - variable1 = variable12 /*ppropdefnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction182___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction182::init (src/parser//parser.nit:9048,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction182].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction182].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction183___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction183::action (src/parser//parser.nit:9052,2--9082:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9062,6--30\n"); nit_exit(1);} - variable9 = variable6 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9064,6--38\n"); nit_exit(1);} - variable10 = variable5 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9066,6--44\n"); nit_exit(1);} - variable11 = variable4 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9068,6--36\n"); nit_exit(1);} - variable12 = variable3 /*nodearraylist5*/; - variable13 = TAG_Bool(( variable12 /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9070,6--38\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist6*/; - variable14 = TAG_Bool(( variable13 /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable13 /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9072,6--32\n"); nit_exit(1);} - variable15 = NEW_parser_prod___ATypePropdef___init_atypepropdef( variable8 /*pdocnode2*/, variable9 /*tkwredefnode3*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwtypenode5*/, variable12 /*tclassidnode6*/, variable13 /*ptypenode7*/); /*new ATypePropdef*/ - variable14 = variable15; - variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(12)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction183___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction183::init (src/parser//parser.nit:9084,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction183].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction183].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction184___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction184::action (src/parser//parser.nit:9088,2--9096:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9094,6--38\n"); nit_exit(1);} - variable1 = variable4 /*ppropdefnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(13)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction184___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction184::init (src/parser//parser.nit:9098,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction184].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction184].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction185___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction185::action (src/parser//parser.nit:9102,2--9132:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable9 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9113,6--30\n"); nit_exit(1);} - variable10 = variable7 /*nodearraylist2*/; - variable11 = TAG_Bool(( variable10 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable10 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9115,6--44\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9117,6--36\n"); nit_exit(1);} - variable12 = variable5 /*nodearraylist4*/; - variable13 = TAG_Bool(( variable12 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9119,6--36\n"); nit_exit(1);} - variable13 = variable4 /*nodearraylist5*/; - variable14 = TAG_Bool(( variable13 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable13 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9121,6--42\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable9 /*pdocnode2*/, NIT_NULL /*null*/, variable10 /*pvisibilitynode4*/, variable11 /*tkwmethnode5*/, variable12 /*pmethidnode6*/, variable13 /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/ - variable14 = variable15; - variable1 = variable14 /*ppropdefnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction185___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction185::init (src/parser//parser.nit:9134,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction185].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction185].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction186___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction186::action (src/parser//parser.nit:9138,2--9171:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9150,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9152,6--38\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable12 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9154,6--44\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable13 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9156,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable14 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9158,6--36\n"); nit_exit(1);} - variable15 = variable4 /*nodearraylist6*/; - variable16 = TAG_Bool(( variable15 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable15 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9160,6--42\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/, variable11 /*tkwredefnode3*/, variable12 /*pvisibilitynode4*/, variable13 /*tkwmethnode5*/, variable14 /*pmethidnode6*/, variable15 /*psignaturenode7*/, NIT_NULL /*null*/); /*new AExternMethPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction186___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction186::init (src/parser//parser.nit:9173,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction186].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction186].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction187___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction187::action (src/parser//parser.nit:9177,2--9210:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9189,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9191,6--44\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9193,6--36\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9195,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9197,6--42\n"); nit_exit(1);} - variable15 = variable2 /*nodearraylist8*/; - variable16 = TAG_Bool(( variable15 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable15 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9199,6--36\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwmethnode5*/, variable13 /*pmethidnode6*/, variable14 /*psignaturenode7*/, variable15 /*tstringnode8*/); /*new AExternMethPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction187___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction187::init (src/parser//parser.nit:9212,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction187].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction187].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction188___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction188::action (src/parser//parser.nit:9216,2--9252:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9229,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9231,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9233,6--44\n"); nit_exit(1);} - variable14 = variable7 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9235,6--36\n"); nit_exit(1);} - variable15 = variable6 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9237,6--36\n"); nit_exit(1);} - variable16 = variable5 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9239,6--42\n"); nit_exit(1);} - variable17 = variable2 /*nodearraylist9*/; - variable18 = TAG_Bool(( variable17 /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable17 /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9241,6--36\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AExternMethPropdef___init_aexternmethpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwmethnode5*/, variable15 /*pmethidnode6*/, variable16 /*psignaturenode7*/, variable17 /*tstringnode8*/); /*new AExternMethPropdef*/ - variable18 = variable19; - variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction188___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction188::init (src/parser//parser.nit:9254,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction188].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction188].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction189___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction189::action (src/parser//parser.nit:9258,2--9291:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9270,6--30\n"); nit_exit(1);} - variable11 = variable8 /*nodearraylist2*/; - variable12 = TAG_Bool(( variable11 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable11 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9272,6--44\n"); nit_exit(1);} - variable12 = variable7 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable12 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9274,6--36\n"); nit_exit(1);} - variable13 = variable6 /*nodearraylist4*/; - variable14 = TAG_Bool(( variable13 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable13 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9276,6--36\n"); nit_exit(1);} - variable14 = variable5 /*nodearraylist5*/; - variable15 = TAG_Bool(( variable14 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable14 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9278,6--42\n"); nit_exit(1);} - variable15 = variable2 /*nodearraylist8*/; - variable16 = TAG_Bool(( variable15 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9280,6--32\n"); nit_exit(1);} - variable17 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable10 /*pdocnode2*/, NIT_NULL /*null*/, variable11 /*pvisibilitynode4*/, variable12 /*tkwmethnode5*/, variable13 /*pmethidnode6*/, variable14 /*psignaturenode7*/, variable15 /*pexprnode8*/); /*new AConcreteMethPropdef*/ - variable16 = variable17; - variable1 = variable16 /*ppropdefnode1*/ /*node_list=*/; - variable17 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable17, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction189___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction189::init (src/parser//parser.nit:9293,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction189].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction189].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction190___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction190::action (src/parser//parser.nit:9297,2--9333:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9310,6--30\n"); nit_exit(1);} - variable12 = variable9 /*nodearraylist2*/; - variable13 = TAG_Bool(( variable12 /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable12 /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9312,6--38\n"); nit_exit(1);} - variable13 = variable8 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable13 /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9314,6--44\n"); nit_exit(1);} - variable14 = variable7 /*nodearraylist4*/; - variable15 = TAG_Bool(( variable14 /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable14 /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9316,6--36\n"); nit_exit(1);} - variable15 = variable6 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable15 /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9318,6--36\n"); nit_exit(1);} - variable16 = variable5 /*nodearraylist6*/; - variable17 = TAG_Bool(( variable16 /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable16 /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9320,6--42\n"); nit_exit(1);} - variable17 = variable2 /*nodearraylist9*/; - variable18 = TAG_Bool(( variable17 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable17 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9322,6--32\n"); nit_exit(1);} - variable19 = NEW_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef( variable11 /*pdocnode2*/, variable12 /*tkwredefnode3*/, variable13 /*pvisibilitynode4*/, variable14 /*tkwmethnode5*/, variable15 /*pmethidnode6*/, variable16 /*psignaturenode7*/, variable17 /*pexprnode8*/); /*new AConcreteMethPropdef*/ - variable18 = variable19; - variable1 = variable18 /*ppropdefnode1*/ /*node_list=*/; - variable19 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(14)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable19, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction190___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction190::init (src/parser//parser.nit:9335,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction190].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction190].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction191___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction191::action (src/parser//parser.nit:9339,2--9345:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = NEW_parser_prod___APublicVisibility___init_apublicvisibility(); /*new APublicVisibility*/ - variable2 = variable3; - variable1 = variable2 /*pvisibilitynode1*/ /*node_list=*/; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(15)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction191___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction191::init (src/parser//parser.nit:9347,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction191].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction191].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction192___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction192::action (src/parser//parser.nit:9351,2--9362:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tkwprivatenode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwprivatenode2*/, COLOR_TKwprivate, ID_TKwprivate)) /*cast TKwprivate*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9357,6--42\n"); nit_exit(1);} - variable6 = NEW_parser_prod___APrivateVisibility___init_aprivatevisibility( variable4 /*tkwprivatenode2*/); /*new APrivateVisibility*/ - variable5 = variable6; - variable1 = variable5 /*pvisibilitynode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(15)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction192___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction192::init (src/parser//parser.nit:9364,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction192].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction192].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction193___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction193::action (src/parser//parser.nit:9368,2--9379:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tkwprotectednode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwprotectednode2*/, COLOR_TKwprotected, ID_TKwprotected)) /*cast TKwprotected*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9374,6--46\n"); nit_exit(1);} - variable6 = NEW_parser_prod___AProtectedVisibility___init_aprotectedvisibility( variable4 /*tkwprotectednode2*/); /*new AProtectedVisibility*/ - variable5 = variable6; - variable1 = variable5 /*pvisibilitynode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(15)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction193___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction193::init (src/parser//parser.nit:9381,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction193].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction193].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction194___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction194::action (src/parser//parser.nit:9385,2--9396:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tkwintrudenode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwintrudenode2*/, COLOR_TKwintrude, ID_TKwintrude)) /*cast TKwintrude*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9391,6--42\n"); nit_exit(1);} - variable6 = NEW_parser_prod___AIntrudeVisibility___init_aintrudevisibility( variable4 /*tkwintrudenode2*/); /*new AIntrudeVisibility*/ - variable5 = variable6; - variable1 = variable5 /*pvisibilitynode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(15)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction194___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction194::init (src/parser//parser.nit:9398,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction194].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction194].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction195___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction195::action (src/parser//parser.nit:9402,2--9412:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9407,6--28\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AIdMethid___init_aidmethid( variable3 /*tidnode2*/); /*new AIdMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction195___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction195::init (src/parser//parser.nit:9414,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction195].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction195].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction196___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction196::action (src/parser//parser.nit:9418,2--9428:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tplusnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tplusnode2*/, COLOR_TPlus, ID_TPlus)) /*cast TPlus*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9423,6--32\n"); nit_exit(1);} - variable5 = NEW_parser_prod___APlusMethid___init_aplusmethid( variable3 /*tplusnode2*/); /*new APlusMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction196___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction196::init (src/parser//parser.nit:9430,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction196].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction196].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction197___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction197::action (src/parser//parser.nit:9434,2--9444:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9439,6--34\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AMinusMethid___init_aminusmethid( variable3 /*tminusnode2*/); /*new AMinusMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction197___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction197::init (src/parser//parser.nit:9446,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction197].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction197].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction198___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction198::action (src/parser//parser.nit:9450,2--9460:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tstarnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstarnode2*/, COLOR_TStar, ID_TStar)) /*cast TStar*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9455,6--32\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AStarMethid___init_astarmethid( variable3 /*tstarnode2*/); /*new AStarMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction198___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction198::init (src/parser//parser.nit:9462,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction198].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction198].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction199___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction199::action (src/parser//parser.nit:9466,2--9476:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tslashnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tslashnode2*/, COLOR_TSlash, ID_TSlash)) /*cast TSlash*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9471,6--34\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ASlashMethid___init_aslashmethid( variable3 /*tslashnode2*/); /*new ASlashMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction199___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction199::init (src/parser//parser.nit:9478,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction199].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction199].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction200___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction200::action (src/parser//parser.nit:9482,2--9492:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tpercentnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tpercentnode2*/, COLOR_TPercent, ID_TPercent)) /*cast TPercent*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9487,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___APercentMethid___init_apercentmethid( variable3 /*tpercentnode2*/); /*new APercentMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction200___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction200::init (src/parser//parser.nit:9494,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction200].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction200].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction201___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction201::action (src/parser//parser.nit:9498,2--9508:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*teqnode2*/==NIT_NULL) || VAL_ISA( variable3 /*teqnode2*/, COLOR_TEq, ID_TEq)) /*cast TEq*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9503,6--28\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AEqMethid___init_aeqmethid( variable3 /*teqnode2*/); /*new AEqMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction201___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction201::init (src/parser//parser.nit:9510,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction201].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction201].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction202___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction202::action (src/parser//parser.nit:9514,2--9524:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tnenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnenode2*/, COLOR_TNe, ID_TNe)) /*cast TNe*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9519,6--28\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ANeMethid___init_anemethid( variable3 /*tnenode2*/); /*new ANeMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction202___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction202::init (src/parser//parser.nit:9526,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction202].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction202].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction203___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction203::action (src/parser//parser.nit:9530,2--9540:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tlenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tlenode2*/, COLOR_TLe, ID_TLe)) /*cast TLe*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9535,6--28\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ALeMethid___init_alemethid( variable3 /*tlenode2*/); /*new ALeMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction203___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction203::init (src/parser//parser.nit:9542,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction203].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction203].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction204___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction204::action (src/parser//parser.nit:9546,2--9556:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tgenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tgenode2*/, COLOR_TGe, ID_TGe)) /*cast TGe*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9551,6--28\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AGeMethid___init_agemethid( variable3 /*tgenode2*/); /*new AGeMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction204___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction204::init (src/parser//parser.nit:9558,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction204].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction204].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction205___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction205::action (src/parser//parser.nit:9562,2--9572:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tltnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tltnode2*/, COLOR_TLt, ID_TLt)) /*cast TLt*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9567,6--28\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ALtMethid___init_altmethid( variable3 /*tltnode2*/); /*new ALtMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction205___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction205::init (src/parser//parser.nit:9574,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction205].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction205].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction206___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction206::action (src/parser//parser.nit:9578,2--9588:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tgtnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tgtnode2*/, COLOR_TGt, ID_TGt)) /*cast TGt*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9583,6--28\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AGtMethid___init_agtmethid( variable3 /*tgtnode2*/); /*new AGtMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction206___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction206::init (src/parser//parser.nit:9590,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction206].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction206].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction207___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction207::action (src/parser//parser.nit:9594,2--9608:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tobranode2*/==NIT_NULL) || VAL_ISA( variable4 /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9600,6--32\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable5 /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9602,6--32\n"); nit_exit(1);} - variable7 = NEW_parser_prod___ABraMethid___init_abramethid( variable4 /*tobranode2*/, variable5 /*tcbranode3*/); /*new ABraMethid*/ - variable6 = variable7; - variable1 = variable6 /*pmethidnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction207___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction207::init (src/parser//parser.nit:9610,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction207].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction207].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction208___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction208::action (src/parser//parser.nit:9614,2--9624:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tstarshipnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstarshipnode2*/, COLOR_TStarship, ID_TStarship)) /*cast TStarship*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9619,6--40\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AStarshipMethid___init_astarshipmethid( variable3 /*tstarshipnode2*/); /*new AStarshipMethid*/ - variable4 = variable5; - variable1 = variable4 /*pmethidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction208___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction208::init (src/parser//parser.nit:9626,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction208].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction208].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction209___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction209::action (src/parser//parser.nit:9630,2--9644:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9636,6--28\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*tassignnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tassignnode3*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9638,6--36\n"); nit_exit(1);} - variable7 = NEW_parser_prod___AAssignMethid___init_aassignmethid( variable4 /*tidnode2*/, variable5 /*tassignnode3*/); /*new AAssignMethid*/ - variable6 = variable7; - variable1 = variable6 /*pmethidnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction209___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction209::init (src/parser//parser.nit:9646,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction209].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction209].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction210___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction210::action (src/parser//parser.nit:9650,2--9668:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tobranode2*/==NIT_NULL) || VAL_ISA( variable5 /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9657,6--32\n"); nit_exit(1);} - variable6 = variable3 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable6 /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9659,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist3*/; - variable8 = TAG_Bool(( variable7 /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable7 /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9661,6--36\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ABraassignMethid___init_abraassignmethid( variable5 /*tobranode2*/, variable6 /*tcbranode3*/, variable7 /*tassignnode4*/); /*new ABraassignMethid*/ - variable8 = variable9; - variable1 = variable8 /*pmethidnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(16)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction210___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction210::init (src/parser//parser.nit:9670,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction210].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction210].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction211___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction211::action (src/parser//parser.nit:9674,2--9683:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = NEW_array___Array___init(); /*new Array[Object]*/ - variable2 = variable3; - variable4 = NEW_parser_prod___ASignature___init_asignature( variable2 /*listnode2*/, NIT_NULL /*null*/); /*new ASignature*/ - variable3 = variable4; - variable1 = variable3 /*psignaturenode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(17)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction211___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction211::init (src/parser//parser.nit:9685,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction211].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction211].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction212___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction212::action (src/parser//parser.nit:9689,2--9708:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9695,6--38\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ == NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable5)) { /*if*/ - variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable5)) { /*if*/ - variable3 = variable4 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/, variable4 /*listnode2*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:1959 */ + array___Array___add(fra.me.REG[6], fra.me.REG[3]); } - variable6 = NEW_parser_prod___ASignature___init_asignature( variable3 /*listnode3*/, NIT_NULL /*null*/); /*new ASignature*/ - variable5 = variable6; - variable1 = variable5 /*psignaturenode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(17)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction212___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction212::init (src/parser//parser.nit:9710,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction212].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction212].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction213___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction213::action (src/parser//parser.nit:9714,2--9726:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9720,6--32\n"); nit_exit(1);} - variable6 = NEW_parser_prod___ASignature___init_asignature( variable3 /*listnode2*/, variable4 /*ptypenode3*/); /*new ASignature*/ - variable5 = variable6; - variable1 = variable5 /*psignaturenode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(17)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction213___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction213::init (src/parser//parser.nit:9728,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction213].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction213].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction214___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction214::action (src/parser//parser.nit:9732,2--9754:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9739,6--38\n"); nit_exit(1);} - variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ == NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable6)) { /*if*/ - variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable6)) { /*if*/ - variable4 = variable5 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode2*/) /*Array::append*/; - } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:1967 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction14___init(val_t p0, int* init_table){ + int itpos18 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction14].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos18]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1969; + fra.me.meth = LOCATE_parser___ReduceAction14___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:1969 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos18] = 1; + return; +} +void parser___ReduceAction15___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 1973; + fra.me.meth = LOCATE_parser___ReduceAction15___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:1984 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1984); + nit_exit(1); } - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable6 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9748,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___ASignature___init_asignature( variable4 /*listnode3*/, variable6 /*ptypenode4*/); /*new ASignature*/ - variable7 = variable8; - variable1 = variable7 /*psignaturenode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(17)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction214___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction214::init (src/parser//parser.nit:9756,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction214].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction214].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction215___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction215::action (src/parser//parser.nit:9760,2--9775:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable4 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9770,6--34\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable8 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pparamnode1*/, NIT_NULL /*null*/) /*PParam::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/, variable8 /*pparamnode1*/) /*Array::add*/; - } - variable1 = variable7 /*listnode2*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(18)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction215___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction215::init (src/parser//parser.nit:9777,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction215].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction215].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction216___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction216::action (src/parser//parser.nit:9781,2--9806:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9792,6--34\n"); nit_exit(1);} - variable10 = variable4 /*nodearraylist4*/; - variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9794,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable9 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pparamnode1*/, NIT_NULL /*null*/) /*PParam::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/, variable9 /*pparamnode1*/) /*Array::add*/; - } - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ == NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable8 = variable10 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/, variable10 /*listnode2*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1986 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1986); + nit_exit(1); } - variable1 = variable8 /*listnode3*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(18)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction216___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction216::init (src/parser//parser.nit:9808,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction216].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction216].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction217___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction217::action (src/parser//parser.nit:9812,2--9820:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable1 = variable5 /*listnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(18)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction217___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction217::init (src/parser//parser.nit:9822,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction217].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction217].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction218___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction218::action (src/parser//parser.nit:9826,2--9835:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable2 /*nodearraylist3*/; - variable6 = TAG_Bool(( variable5 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9833,6--34\n"); nit_exit(1);} - variable1 = variable5 /*pparamnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(19)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction218___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction218::init (src/parser//parser.nit:9837,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction218].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction218].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction219___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction219::action (src/parser//parser.nit:9841,2--9853:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9846,6--28\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AParam___init_aparam( variable3 /*tidnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AParam*/ - variable4 = variable5; - variable1 = variable4 /*pparamnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(20)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction219___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction219::init (src/parser//parser.nit:9855,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction219].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction219].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction220___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction220::action (src/parser//parser.nit:9859,2--9874:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9865,6--28\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9867,6--32\n"); nit_exit(1);} - variable7 = NEW_parser_prod___AParam___init_aparam( variable4 /*tidnode2*/, variable5 /*ptypenode3*/, NIT_NULL /*null*/); /*new AParam*/ - variable6 = variable7; - variable1 = variable6 /*pparamnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(20)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction220___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction220::init (src/parser//parser.nit:9876,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction220].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction220].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction221___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction221::action (src/parser//parser.nit:9880,2--9898:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9887,6--28\n"); nit_exit(1);} - variable6 = variable3 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable6 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9889,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist3*/; - variable8 = TAG_Bool(( variable7 /*tdotdotdotnode4*/==NIT_NULL) || VAL_ISA( variable7 /*tdotdotdotnode4*/, COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9891,6--42\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AParam___init_aparam( variable5 /*tidnode2*/, variable6 /*ptypenode3*/, variable7 /*tdotdotdotnode4*/); /*new AParam*/ - variable8 = variable9; - variable1 = variable8 /*pparamnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(20)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction221___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction221::init (src/parser//parser.nit:9900,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction221].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction221].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction222___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction222::action (src/parser//parser.nit:9904,2--9916:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9910,6--38\n"); nit_exit(1);} - variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/, variable3 /*listnode3*/); /*new AType*/ - variable5 = variable6; - variable1 = variable5 /*ptypenode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(21)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction222___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction222::init (src/parser//parser.nit:9918,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction222].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction222].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction223___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction223::action (src/parser//parser.nit:9922,2--9948:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable7 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9933,6--38\n"); nit_exit(1);} - variable10 = variable4 /*nodearraylist4*/; - variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9935,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable8 = variable10 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:1988 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:1989 */ + } else { + /* ./parser//parser.nit:1991 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); } - variable12 = NEW_parser_prod___AType___init_atype( variable9 /*tclassidnode2*/, variable8 /*listnode4*/); /*new AType*/ - variable11 = variable12; - variable1 = variable11 /*ptypenode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(21)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction223___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction223::init (src/parser//parser.nit:9950,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction223].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction223].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction224___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction224::action (src/parser//parser.nit:9954,2--9965:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9960,6--32\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable4 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ptypenode1*/, NIT_NULL /*null*/) /*PType::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*ptypenode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(22)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction224___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction224::init (src/parser//parser.nit:9967,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction224].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction224].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction225___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction225::action (src/parser//parser.nit:9971,2--9992:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9978,6--32\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*listnode2*/==NIT_NULL) || VAL_ISA( variable6 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:9980,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable5 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*ptypenode1*/, NIT_NULL /*null*/) /*PType::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable5 /*ptypenode1*/) /*Array::add*/; - } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ == NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable6 /*listnode2*/) /*Array::append*/; - } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:1996 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1996); + nit_exit(1); } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(22)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction225___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction225::init (src/parser//parser.nit:9994,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction225].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction225].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction226___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction226::action (src/parser//parser.nit:9998,2--10007:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable2 /*nodearraylist3*/; - variable6 = TAG_Bool(( variable5 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10005,6--32\n"); nit_exit(1);} - variable1 = variable5 /*ptypenode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(23)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction226___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction226::init (src/parser//parser.nit:10009,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction226].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction226].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction227___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction227::action (src/parser//parser.nit:10013,2--10022:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable2 /*nodearraylist3*/; - variable6 = TAG_Bool(( variable5 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable5 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10020,6--32\n"); nit_exit(1);} - variable1 = variable5 /*ptypenode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(24)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction227___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction227::init (src/parser//parser.nit:10024,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction227].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction227].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction228___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction228::action (src/parser//parser.nit:10028,2--10035:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10033,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(25)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction228___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction228::init (src/parser//parser.nit:10037,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction228].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction228].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction229___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction229::action (src/parser//parser.nit:10041,2--10058:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable4 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10050,6--32\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable7 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable8)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable7 /*pexprnode2*/) /*Array::add*/; - } - variable9 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode3*/); /*new ABlockExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(25)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction229___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction229::init (src/parser//parser.nit:10060,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction229].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction229].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction230___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction230::action (src/parser//parser.nit:10064,2--10091:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10074,6--32\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10076,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable10)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode4*/, variable8 /*pexprnode2*/) /*Array::add*/; - } - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable7 = variable9 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:1998 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 1998); + nit_exit(1); } - variable11 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable7 /*listnode4*/); /*new ABlockExpr*/ - variable10 = variable11; - variable1 = variable10 /*pexprnode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(25)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction230___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction230::init (src/parser//parser.nit:10093,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction230].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction230].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction231___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction231::action (src/parser//parser.nit:10097,2--10103:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable1 = NIT_NULL /*null*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(25)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction231___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction231::init (src/parser//parser.nit:10105,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction231].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction231].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction232___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction232::action (src/parser//parser.nit:10109,2--10114:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable1 = NIT_NULL /*null*/ /*node_list=*/; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(25)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction232___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction232::init (src/parser//parser.nit:10116,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction232].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction232].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction233___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction233::action (src/parser//parser.nit:10120,2--10128:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable2 /*nodearraylist2*/; - variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10126,6--32\n"); nit_exit(1);} - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(26)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction233___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction233::init (src/parser//parser.nit:10130,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction233].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction233].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction234___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction234::action (src/parser//parser.nit:10134,2--10141:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10139,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction234___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction234::init (src/parser//parser.nit:10143,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction234].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction234].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction235___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction235::action (src/parser//parser.nit:10147,2--10154:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10152,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction235___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction235::init (src/parser//parser.nit:10156,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction235].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction235].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction236___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction236::action (src/parser//parser.nit:10160,2--10171:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10165,6--40\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable3 /*tkwreturnnode2*/, NIT_NULL /*null*/); /*new AReturnExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction236___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction236::init (src/parser//parser.nit:10173,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction236].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction236].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction237___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction237::action (src/parser//parser.nit:10177,2--10191:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10183,6--40\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10185,6--32\n"); nit_exit(1);} - variable7 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable4 /*tkwreturnnode2*/, variable5 /*pexprnode3*/); /*new AReturnExpr*/ - variable6 = variable7; - variable1 = variable6 /*pexprnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction237___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction237::init (src/parser//parser.nit:10193,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction237].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction237].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction238___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction238::action (src/parser//parser.nit:10197,2--10207:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10202,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ABreakExpr___init_abreakexpr( variable3 /*tkwbreaknode2*/); /*new ABreakExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction238___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction238::init (src/parser//parser.nit:10209,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction238].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction238].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction239___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction239::action (src/parser//parser.nit:10213,2--10223:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10218,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AAbortExpr___init_aabortexpr( variable3 /*tkwabortnode2*/); /*new AAbortExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction239___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction239::init (src/parser//parser.nit:10225,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction239].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction239].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction240___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction240::action (src/parser//parser.nit:10229,2--10239:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10234,6--44\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AContinueExpr___init_acontinueexpr( variable3 /*tkwcontinuenode2*/); /*new AContinueExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction240___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction240::init (src/parser//parser.nit:10241,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction240].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction240].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction241___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction241::action (src/parser//parser.nit:10245,2--10252:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10250,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction241___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction241::init (src/parser//parser.nit:10254,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction241].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction241].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction242___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction242::action (src/parser//parser.nit:10258,2--10265:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10263,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction242___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction242::init (src/parser//parser.nit:10267,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction242].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction242].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction243___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction243::action (src/parser//parser.nit:10271,2--10278:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10276,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction243___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction243::init (src/parser//parser.nit:10280,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction243].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction243].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction244___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction244::action (src/parser//parser.nit:10284,2--10291:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10289,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction244___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction244::init (src/parser//parser.nit:10293,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction244].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction244].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction245___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction245::action (src/parser//parser.nit:10297,2--10304:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10302,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction245___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction245::init (src/parser//parser.nit:10306,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction245].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction245].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction246___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction246::action (src/parser//parser.nit:10310,2--10338:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable6 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10320,6--32\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10322,6--28\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10324,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:1999 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; } } - variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/, variable9 /*tidnode3*/, variable7 /*listnode5*/); /*new ACallExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction246___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction246::init (src/parser//parser.nit:10340,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction246].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction246].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction247___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction247::action (src/parser//parser.nit:10344,2--10369:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10353,6--28\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10355,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2000 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); } - variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/, variable6 /*tidnode3*/, variable4 /*listnode5*/); /*new ACallExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction247___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction247::init (src/parser//parser.nit:10371,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction247].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction247].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction248___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction248::action (src/parser//parser.nit:10375,2--10398:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10382,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10384,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:2003 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:2004 */ + } else { + /* ./parser//parser.nit:2006 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); } - variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction248___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction248::init (src/parser//parser.nit:10400,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction248].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction248].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction249___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction249::action (src/parser//parser.nit:10404,2--10430:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10412,6--42\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10414,6--38\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10416,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable8 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/; + fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]); + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:2012 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; } } - variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction249___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction249::init (src/parser//parser.nit:10432,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction249].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction249].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction250___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction250::action (src/parser//parser.nit:10436,2--10464:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable6 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10446,6--32\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10448,6--36\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10450,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2013 */ + array___Array___add(fra.me.REG[7], fra.me.REG[4]); } - variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/, variable9 /*tkwinitnode3*/, variable7 /*listnode5*/); /*new AInitExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction250___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction250::init (src/parser//parser.nit:10466,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction250].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction250].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction251___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction251::action (src/parser//parser.nit:10470,2--10495:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10479,6--36\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10481,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2021 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction15___init(val_t p0, int* init_table){ + int itpos19 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction15].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos19]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2023; + fra.me.meth = LOCATE_parser___ReduceAction15___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2023 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos19] = 1; + return; +} +void parser___ReduceAction16___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2027; + fra.me.meth = LOCATE_parser___ReduceAction16___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2036 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2036); + nit_exit(1); } - variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/, variable6 /*tkwinitnode3*/, variable4 /*listnode5*/); /*new AInitExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(27)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction251___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction251::init (src/parser//parser.nit:10497,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction251].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction251].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction252___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction252::action (src/parser//parser.nit:10501,2--10518:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10507,6--34\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10509,6--28\n"); nit_exit(1);} - variable7 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable4 /*tkwvarnode2*/, variable5 /*tidnode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AVardeclExpr*/ - variable6 = variable7; - variable1 = variable6 /*pexprnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(28)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction252___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction252::init (src/parser//parser.nit:10520,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction252].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction252].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction253___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction253::action (src/parser//parser.nit:10524,2--10544:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10531,6--34\n"); nit_exit(1);} - variable6 = variable3 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10533,6--28\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist3*/; - variable8 = TAG_Bool(( variable7 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10535,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable5 /*tkwvarnode2*/, variable6 /*tidnode3*/, variable7 /*ptypenode4*/, NIT_NULL /*null*/, NIT_NULL /*null*/); /*new AVardeclExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(28)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction253___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction253::init (src/parser//parser.nit:10546,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction253].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction253].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction254___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction254::action (src/parser//parser.nit:10550,2--10574:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable7 = variable6 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10559,6--34\n"); nit_exit(1);} - variable8 = variable5 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable8 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10561,6--28\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10563,6--36\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10565,6--32\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable7 /*tkwvarnode2*/, variable8 /*tidnode3*/, NIT_NULL /*null*/, variable9 /*tassignnode5*/, variable10 /*pexprnode6*/); /*new AVardeclExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(28)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction254___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction254::init (src/parser//parser.nit:10576,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction254].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction254].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction255___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction255::action (src/parser//parser.nit:10580,2--10607:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10590,6--34\n"); nit_exit(1);} - variable9 = variable6 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10592,6--28\n"); nit_exit(1);} - variable10 = variable5 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable10 /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10594,6--32\n"); nit_exit(1);} - variable11 = variable4 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable11 /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10596,6--36\n"); nit_exit(1);} - variable12 = variable2 /*nodearraylist6*/; - variable13 = TAG_Bool(( variable12 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10598,6--32\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AVardeclExpr___init_avardeclexpr( variable8 /*tkwvarnode2*/, variable9 /*tidnode3*/, variable10 /*ptypenode4*/, variable11 /*tassignnode5*/, variable12 /*pexprnode6*/); /*new AVardeclExpr*/ - variable13 = variable14; - variable1 = variable13 /*pexprnode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(28)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction255___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction255::init (src/parser//parser.nit:10609,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction255].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction255].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction256___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction256::action (src/parser//parser.nit:10613,2--10637:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10623,6--32\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10625,6--36\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable10 /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10627,6--36\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist6*/; - variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10629,6--32\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable8 /*pexprnode2*/, variable9 /*tattridnode3*/, variable10 /*tassignnode4*/, variable11 /*pexprnode5*/); /*new AAttrAssignExpr*/ - variable12 = variable13; - variable1 = variable12 /*pexprnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction256___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction256::init (src/parser//parser.nit:10639,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction256].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction256].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction257___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction257::action (src/parser//parser.nit:10643,2--10664:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10652,6--36\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable7 /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10654,6--36\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10656,6--32\n"); nit_exit(1);} - variable10 = NEW_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable5 /*pexprnode2*/, variable6 /*tattridnode3*/, variable7 /*tassignnode4*/, variable8 /*pexprnode5*/); /*new AAttrAssignExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction257___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction257::init (src/parser//parser.nit:10666,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction257].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction257].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction258___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction258::action (src/parser//parser.nit:10670,2--10706:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable8 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10682,6--32\n"); nit_exit(1);} - variable11 = variable5 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10684,6--28\n"); nit_exit(1);} - variable12 = variable4 /*nodearraylist5*/; - variable13 = TAG_Bool(( variable12 /*listnode4*/==NIT_NULL) || VAL_ISA( variable12 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10686,6--38\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode4*/ == NIT_NULL /*null*/) || (( variable12 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable13)) { /*if*/ - variable9 = variable12 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode5*/, variable12 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2039 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2039); + nit_exit(1); } - variable13 = variable3 /*nodearraylist6*/; - variable14 = TAG_Bool(( variable13 /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable13 /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10695,6--36\n"); nit_exit(1);} - variable14 = variable2 /*nodearraylist7*/; - variable15 = TAG_Bool(( variable14 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10697,6--32\n"); nit_exit(1);} - variable16 = NEW_parser_prod___ACallAssignExpr___init_acallassignexpr( variable10 /*pexprnode2*/, variable11 /*tidnode3*/, variable9 /*listnode5*/, variable13 /*tassignnode6*/, variable14 /*pexprnode7*/); /*new ACallAssignExpr*/ - variable15 = variable16; - variable1 = variable15 /*pexprnode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction258___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction258::init (src/parser//parser.nit:10708,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction258].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction258].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction259___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction259::action (src/parser//parser.nit:10712,2--10745:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable8 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10723,6--28\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*listnode4*/==NIT_NULL) || VAL_ISA( variable9 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10725,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ == NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable9 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode5*/, variable9 /*listnode4*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2040 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable10 = variable3 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable10 /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10734,6--36\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10736,6--32\n"); nit_exit(1);} - variable13 = NEW_parser_prod___ACallAssignExpr___init_acallassignexpr( variable7 /*pexprnode2*/, variable8 /*tidnode3*/, variable6 /*listnode5*/, variable10 /*tassignnode6*/, variable11 /*pexprnode7*/); /*new ACallAssignExpr*/ - variable12 = variable13; - variable1 = variable12 /*pexprnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction259___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction259::init (src/parser//parser.nit:10747,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction259].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction259].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction260___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction260::action (src/parser//parser.nit:10751,2--10781:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable5 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10760,6--32\n"); nit_exit(1);} - variable8 = variable4 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10762,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable6 = variable8 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2041 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); } - variable9 = variable3 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable9 /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10771,6--36\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist4*/; - variable11 = TAG_Bool(( variable10 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10773,6--32\n"); nit_exit(1);} - variable12 = NEW_parser_prod___ABraAssignExpr___init_abraassignexpr( variable7 /*pexprnode2*/, variable6 /*listnode4*/, variable9 /*tassignnode5*/, variable10 /*pexprnode6*/); /*new ABraAssignExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction260___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction260::init (src/parser//parser.nit:10783,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction260].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction260].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction261___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction261::action (src/parser//parser.nit:10787,2--10811:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10797,6--32\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10799,6--36\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable10 /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10801,6--40\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist6*/; - variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10803,6--32\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable8 /*pexprnode2*/, variable9 /*tattridnode3*/, variable10 /*passignopnode4*/, variable11 /*pexprnode5*/); /*new AAttrReassignExpr*/ - variable12 = variable13; - variable1 = variable12 /*pexprnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction261___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction261::init (src/parser//parser.nit:10813,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction261].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction261].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction262___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction262::action (src/parser//parser.nit:10817,2--10838:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10826,6--36\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable7 /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10828,6--40\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10830,6--32\n"); nit_exit(1);} - variable10 = NEW_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable5 /*pexprnode2*/, variable6 /*tattridnode3*/, variable7 /*passignopnode4*/, variable8 /*pexprnode5*/); /*new AAttrReassignExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction262___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction262::init (src/parser//parser.nit:10840,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction262].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction262].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction263___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction263::action (src/parser//parser.nit:10844,2--10880:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable8 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10856,6--32\n"); nit_exit(1);} - variable11 = variable5 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable11 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10858,6--28\n"); nit_exit(1);} - variable12 = variable4 /*nodearraylist5*/; - variable13 = TAG_Bool(( variable12 /*listnode4*/==NIT_NULL) || VAL_ISA( variable12 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10860,6--38\n"); nit_exit(1);} - variable13 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable12 /*listnode4*/ == NIT_NULL /*null*/) || (( variable12 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable12 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable12 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable13)) { /*if*/ - variable13 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable13)) { /*if*/ - variable9 = variable12 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode5*/, variable12 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]); + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:2047 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:2048 */ + } else { + /* ./parser//parser.nit:2050 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); } - variable13 = variable3 /*nodearraylist6*/; - variable14 = TAG_Bool(( variable13 /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable13 /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10869,6--40\n"); nit_exit(1);} - variable14 = variable2 /*nodearraylist7*/; - variable15 = TAG_Bool(( variable14 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10871,6--32\n"); nit_exit(1);} - variable16 = NEW_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable10 /*pexprnode2*/, variable11 /*tidnode3*/, variable9 /*listnode5*/, variable13 /*passignopnode6*/, variable14 /*pexprnode7*/); /*new ACallReassignExpr*/ - variable15 = variable16; - variable1 = variable15 /*pexprnode1*/ /*node_list=*/; - variable16 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable16, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction263___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction263::init (src/parser//parser.nit:10882,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction263].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction263].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction264___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction264::action (src/parser//parser.nit:10886,2--10919:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable8 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable8 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10897,6--28\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist2*/; - variable10 = TAG_Bool(( variable9 /*listnode4*/==NIT_NULL) || VAL_ISA( variable9 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10899,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode4*/ == NIT_NULL /*null*/) || (( variable9 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable9 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode5*/, variable9 /*listnode4*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + /* ./parser//parser.nit:2053 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL); + REGB0 = REGB1; } } - variable10 = variable3 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable10 /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10908,6--40\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist4*/; - variable12 = TAG_Bool(( variable11 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10910,6--32\n"); nit_exit(1);} - variable13 = NEW_parser_prod___ACallReassignExpr___init_acallreassignexpr( variable7 /*pexprnode2*/, variable8 /*tidnode3*/, variable6 /*listnode5*/, variable10 /*passignopnode6*/, variable11 /*pexprnode7*/); /*new ACallReassignExpr*/ - variable12 = variable13; - variable1 = variable12 /*pexprnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction264___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction264::init (src/parser//parser.nit:10921,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction264].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction264].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction265___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction265::action (src/parser//parser.nit:10925,2--10955:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable5 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10934,6--32\n"); nit_exit(1);} - variable8 = variable4 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*listnode3*/==NIT_NULL) || VAL_ISA( variable8 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10936,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode3*/ == NIT_NULL /*null*/) || (( variable8 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable6 = variable8 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode4*/, variable8 /*listnode3*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2054 */ + array___Array___add(fra.me.REG[5], fra.me.REG[6]); } - variable9 = variable3 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*passignopnode5*/==NIT_NULL) || VAL_ISA( variable9 /*passignopnode5*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10945,6--40\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist4*/; - variable11 = TAG_Bool(( variable10 /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10947,6--32\n"); nit_exit(1);} - variable12 = NEW_parser_prod___ABraReassignExpr___init_abrareassignexpr( variable7 /*pexprnode2*/, variable6 /*listnode4*/, variable9 /*passignopnode5*/, variable10 /*pexprnode6*/); /*new ABraReassignExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(29)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction265___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction265::init (src/parser//parser.nit:10957,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction265].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction265].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction266___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction266::action (src/parser//parser.nit:10961,2--10971:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tpluseqnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tpluseqnode2*/, COLOR_TPluseq, ID_TPluseq)) /*cast TPluseq*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10966,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___APlusAssignOp___init_aplusassignop( variable3 /*tpluseqnode2*/); /*new APlusAssignOp*/ - variable4 = variable5; - variable1 = variable4 /*passignopnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(30)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction266___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction266::init (src/parser//parser.nit:10973,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction266].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction266].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction267___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction267::action (src/parser//parser.nit:10977,2--10987:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tminuseqnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tminuseqnode2*/, COLOR_TMinuseq, ID_TMinuseq)) /*cast TMinuseq*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10982,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AMinusAssignOp___init_aminusassignop( variable3 /*tminuseqnode2*/); /*new AMinusAssignOp*/ - variable4 = variable5; - variable1 = variable4 /*passignopnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(30)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction267___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction267::init (src/parser//parser.nit:10989,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction267].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction267].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction268___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction268::action (src/parser//parser.nit:10993,2--11007:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:10999,6--32\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11001,6--32\n"); nit_exit(1);} - variable7 = NEW_parser_prod___ADoExpr___init_adoexpr( variable4 /*tkwdonode2*/, variable5 /*pexprnode3*/); /*new ADoExpr*/ - variable6 = variable7; - variable1 = variable6 /*pexprnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(31)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction268___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction268::init (src/parser//parser.nit:11009,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction268].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction268].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction269___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction269::action (src/parser//parser.nit:11013,2--11039:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11025,6--32\n"); nit_exit(1);} - variable11 = variable7 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11027,6--32\n"); nit_exit(1);} - variable12 = variable4 /*nodearraylist6*/; - variable13 = TAG_Bool(( variable12 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11029,6--32\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist8*/; - variable14 = TAG_Bool(( variable13 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11031,6--32\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AIfExpr___init_aifexpr( variable10 /*tkwifnode2*/, variable11 /*pexprnode3*/, variable12 /*pexprnode4*/, variable13 /*pexprnode5*/); /*new AIfExpr*/ - variable14 = variable15; - variable1 = variable14 /*pexprnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction269___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction269::init (src/parser//parser.nit:11041,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction269].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction269].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction270___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction270::action (src/parser//parser.nit:11045,2--11067:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11055,6--32\n"); nit_exit(1);} - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11057,6--32\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist6*/; - variable11 = TAG_Bool(( variable10 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11059,6--32\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AIfExpr___init_aifexpr( variable8 /*tkwifnode2*/, variable9 /*pexprnode3*/, variable10 /*pexprnode4*/, NIT_NULL /*null*/); /*new AIfExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction270___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction270::init (src/parser//parser.nit:11069,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction270].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction270].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction271___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction271::action (src/parser//parser.nit:11073,2--11107:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable10 /*nodearraylist1*/; - variable12 = TAG_Bool(( variable11 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable11 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11086,6--32\n"); nit_exit(1);} - variable12 = variable8 /*nodearraylist3*/; - variable13 = TAG_Bool(( variable12 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11088,6--32\n"); nit_exit(1);} - variable14 = NEW_array___Array___init(); /*new Array[Object]*/ - variable13 = variable14; - variable14 = variable4 /*nodearraylist7*/; - variable15 = TAG_Bool(( variable14 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11091,6--32\n"); nit_exit(1);} - variable15 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable14 /*pexprnode5*/ == NIT_NULL /*null*/) || (( variable14 /*pexprnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable14 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable14 /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable14 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))( variable14 /*pexprnode5*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable15)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable13 /*listnode6*/,COLOR_abstract_collection___SimpleCollection___add))( variable13 /*listnode6*/, variable14 /*pexprnode5*/) /*Array::add*/; - } - variable16 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable13 /*listnode6*/); /*new ABlockExpr*/ - variable15 = variable16; - variable16 = variable2 /*nodearraylist9*/; - variable17 = TAG_Bool(( variable16 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11099,6--32\n"); nit_exit(1);} - variable18 = NEW_parser_prod___AIfExpr___init_aifexpr( variable11 /*tkwifnode2*/, variable12 /*pexprnode3*/, variable15 /*pexprnode4*/, variable16 /*pexprnode7*/); /*new AIfExpr*/ - variable17 = variable18; - variable1 = variable17 /*pexprnode1*/ /*node_list=*/; - variable18 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable18, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction271___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction271::init (src/parser//parser.nit:11109,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction271].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction271].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction272___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction272::action (src/parser//parser.nit:11113,2--11157:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable12 = variable11 /*nodearraylist1*/; - variable13 = TAG_Bool(( variable12 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable12 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11127,6--32\n"); nit_exit(1);} - variable13 = variable9 /*nodearraylist3*/; - variable14 = TAG_Bool(( variable13 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11129,6--32\n"); nit_exit(1);} - variable15 = NEW_array___Array___init(); /*new Array[Object]*/ - variable14 = variable15; - variable15 = variable5 /*nodearraylist7*/; - variable16 = TAG_Bool(( variable15 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable15 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11132,6--32\n"); nit_exit(1);} - variable16 = variable4 /*nodearraylist8*/; - variable17 = TAG_Bool(( variable16 /*listnode6*/==NIT_NULL) || VAL_ISA( variable16 /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11134,6--38\n"); nit_exit(1);} - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable15 /*pexprnode5*/ == NIT_NULL /*null*/) || (( variable15 /*pexprnode5*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable15 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable15 /*pexprnode5*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable15 /*pexprnode5*/,COLOR_kernel___Object_____eqeq))( variable15 /*pexprnode5*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable17)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___SimpleCollection___add))( variable14 /*listnode7*/, variable15 /*pexprnode5*/) /*Array::add*/; - } - variable17 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable16 /*listnode6*/ == NIT_NULL /*null*/) || (( variable16 /*listnode6*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable16 /*listnode6*/,COLOR_kernel___Object_____eqeq))( variable16 /*listnode6*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable17)) { /*if*/ - variable17 = ((array___AbstractArray___is_empty_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___Collection___is_empty))( variable14 /*listnode7*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable17)) { /*if*/ - variable14 = variable16 /*listnode6*/ /*listnode7=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable14 /*listnode7*/,COLOR_abstract_collection___IndexedCollection___append))( variable14 /*listnode7*/, variable16 /*listnode6*/) /*Array::append*/; - } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2062 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction16___init(val_t p0, int* init_table){ + int itpos20 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction16].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos20]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2064; + fra.me.meth = LOCATE_parser___ReduceAction16___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2064 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos20] = 1; + return; +} +void parser___ReduceAction17___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2068; + fra.me.meth = LOCATE_parser___ReduceAction17___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2078 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2078); + nit_exit(1); } - variable18 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable14 /*listnode7*/); /*new ABlockExpr*/ - variable17 = variable18; - variable18 = variable2 /*nodearraylist10*/; - variable19 = TAG_Bool(( variable18 /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11149,6--32\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AIfExpr___init_aifexpr( variable12 /*tkwifnode2*/, variable13 /*pexprnode3*/, variable17 /*pexprnode4*/, variable18 /*pexprnode8*/); /*new AIfExpr*/ - variable19 = variable20; - variable1 = variable19 /*pexprnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction272___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction272::init (src/parser//parser.nit:11159,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction272].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction272].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction273___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction273::action (src/parser//parser.nit:11163,2--11185:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11173,6--32\n"); nit_exit(1);} - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11175,6--32\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist6*/; - variable11 = TAG_Bool(( variable10 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11177,6--32\n"); nit_exit(1);} - variable12 = NEW_parser_prod___AIfExpr___init_aifexpr( variable8 /*tkwifnode2*/, variable9 /*pexprnode3*/, NIT_NULL /*null*/, variable10 /*pexprnode5*/); /*new AIfExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction273___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction273::init (src/parser//parser.nit:11187,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction273].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction273].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction274___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction274::action (src/parser//parser.nit:11191,2--11214:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11202,6--32\n"); nit_exit(1);} - variable10 = variable6 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable10 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11204,6--32\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist7*/; - variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11206,6--32\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AIfExpr___init_aifexpr( variable9 /*tkwifnode2*/, variable10 /*pexprnode3*/, NIT_NULL /*null*/, variable11 /*pexprnode5*/); /*new AIfExpr*/ - variable12 = variable13; - variable1 = variable12 /*pexprnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(32)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction274___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction274::init (src/parser//parser.nit:11216,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction274].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction274].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction275___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction275::action (src/parser//parser.nit:11220,2--11228:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable2 /*nodearraylist2*/; - variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11226,6--32\n"); nit_exit(1);} - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(33)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction275___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction275::init (src/parser//parser.nit:11230,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction275].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction275].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction276___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction276::action (src/parser//parser.nit:11234,2--11239:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable1 = NIT_NULL /*null*/ /*node_list=*/; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(33)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction276___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction276::init (src/parser//parser.nit:11241,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction276].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction276].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction277___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction277::action (src/parser//parser.nit:11245,2--11269:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11255,6--38\n"); nit_exit(1);} - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11257,6--32\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11259,6--32\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist6*/; - variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11261,6--32\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AWhileExpr___init_awhileexpr( variable8 /*tkwwhilenode2*/, variable9 /*pexprnode3*/, variable10 /*tkwdonode4*/, variable11 /*pexprnode5*/); /*new AWhileExpr*/ - variable12 = variable13; - variable1 = variable12 /*pexprnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(34)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction277___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction277::init (src/parser//parser.nit:11271,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction277].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction277].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction278___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction278::action (src/parser//parser.nit:11275,2--11294:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11283,6--32\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist3*/; - variable8 = TAG_Bool(( variable7 /*tkwdonode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwdonode3*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11285,6--32\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist4*/; - variable9 = TAG_Bool(( variable8 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11287,6--32\n"); nit_exit(1);} - variable10 = NEW_parser_prod___AForExpr___init_aforexpr( variable6 /*pexprnode2*/, variable7 /*tkwdonode3*/, variable8 /*pexprnode4*/); /*new AForExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(35)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction278___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction278::init (src/parser//parser.nit:11296,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction278].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction278].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction279___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction279::action (src/parser//parser.nit:11300,2--11322:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable9 = variable8 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*tkwfornode2*/==NIT_NULL) || VAL_ISA( variable9 /*tkwfornode2*/, COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11311,6--34\n"); nit_exit(1);} - variable10 = variable6 /*nodearraylist3*/; - variable11 = TAG_Bool(( variable10 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable10 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11313,6--28\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist7*/; - variable12 = TAG_Bool(( variable11 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11315,6--32\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AForVardeclExpr___init_aforvardeclexpr( variable9 /*tkwfornode2*/, variable10 /*tidnode3*/, variable11 /*pexprnode4*/); /*new AForVardeclExpr*/ - variable12 = variable13; - variable1 = variable12 /*pexprnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(36)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction279___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction279::init (src/parser//parser.nit:11324,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction279].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction279].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction280___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction280::action (src/parser//parser.nit:11328,2--11343:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11334,6--40\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11336,6--32\n"); nit_exit(1);} - variable7 = NEW_parser_prod___AAssertExpr___init_aassertexpr( variable4 /*tkwassertnode2*/, NIT_NULL /*null*/, variable5 /*pexprnode4*/); /*new AAssertExpr*/ - variable6 = variable7; - variable1 = variable6 /*pexprnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(37)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction280___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction280::init (src/parser//parser.nit:11345,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction280].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction280].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction281___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction281::action (src/parser//parser.nit:11349,2--11367:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11356,6--40\n"); nit_exit(1);} - variable6 = variable3 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11358,6--28\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist3*/; - variable8 = TAG_Bool(( variable7 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11360,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AAssertExpr___init_aassertexpr( variable5 /*tkwassertnode2*/, variable6 /*tidnode3*/, variable7 /*pexprnode4*/); /*new AAssertExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(37)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction281___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction281::init (src/parser//parser.nit:11369,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction281].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction281].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction282___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction282::action (src/parser//parser.nit:11373,2--11381:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tidnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11379,6--28\n"); nit_exit(1);} - variable1 = variable4 /*tidnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(38)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction282___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction282::init (src/parser//parser.nit:11383,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction282].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction282].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction283___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction283::action (src/parser//parser.nit:11387,2--11394:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11392,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(39)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction283___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction283::init (src/parser//parser.nit:11396,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction283].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction283].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction284___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction284::action (src/parser//parser.nit:11400,2--11435:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11415,6--32\n"); nit_exit(1);} - variable14 = variable10 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11417,6--32\n"); nit_exit(1);} - variable15 = variable8 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11419,6--36\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist7*/; - variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11421,6--32\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist9*/; - variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11423,6--36\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist11*/; - variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11425,6--32\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/, variable14 /*pexprnode3*/, variable15 /*tkwthennode4*/, variable16 /*pexprnode5*/, variable17 /*tkwelsenode6*/, variable18 /*pexprnode7*/); /*new AIfexprExpr*/ - variable19 = variable20; - variable1 = variable19 /*pexprnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(39)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction284___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction284::init (src/parser//parser.nit:11437,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction284].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction284].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction285___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction285::action (src/parser//parser.nit:11441,2--11448:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11446,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(40)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction285___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction285::init (src/parser//parser.nit:11450,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction285].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction285].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction286___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction286::action (src/parser//parser.nit:11454,2--11470:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11462,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11464,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AOrExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(40)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction286___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction286::init (src/parser//parser.nit:11472,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction286].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction286].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction287___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction287::action (src/parser//parser.nit:11476,2--11492:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11484,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11486,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AAndExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(40)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction287___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction287::init (src/parser//parser.nit:11494,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction287].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction287].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction288___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction288::action (src/parser//parser.nit:11498,2--11505:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11503,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(41)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction288___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction288::init (src/parser//parser.nit:11507,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction288].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction288].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction289___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction289::action (src/parser//parser.nit:11511,2--11526:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11518,6--34\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11520,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/, variable6 /*pexprnode3*/); /*new ANotExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(41)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction289___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction289::init (src/parser//parser.nit:11528,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction289].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction289].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction290___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction290::action (src/parser//parser.nit:11532,2--11539:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11537,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction290___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction290::init (src/parser//parser.nit:11541,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction290].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction290].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction291___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction291::action (src/parser//parser.nit:11545,2--11561:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11553,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11555,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEqExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction291___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction291::init (src/parser//parser.nit:11563,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction291].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction291].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction292___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction292::action (src/parser//parser.nit:11567,2--11583:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11575,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11577,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction292___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction292::init (src/parser//parser.nit:11585,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction292].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction292].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction293___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction293::action (src/parser//parser.nit:11589,2--11605:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11597,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11599,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ANeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction293___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction293::init (src/parser//parser.nit:11607,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction293].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction293].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction294___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction294::action (src/parser//parser.nit:11611,2--11627:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11619,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11621,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALtExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction294___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction294::init (src/parser//parser.nit:11629,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction294].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction294].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction295___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction295::action (src/parser//parser.nit:11633,2--11649:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11641,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11643,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction295___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction295::init (src/parser//parser.nit:11651,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction295].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction295].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction296___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction296::action (src/parser//parser.nit:11655,2--11671:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11663,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11665,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGtExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction296___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction296::init (src/parser//parser.nit:11673,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction296].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction296].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction297___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction297::action (src/parser//parser.nit:11677,2--11693:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11685,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11687,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction297___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction297::init (src/parser//parser.nit:11695,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction297].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction297].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction298___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction298::action (src/parser//parser.nit:11699,2--11715:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11707,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11709,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarshipExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction298___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction298::init (src/parser//parser.nit:11717,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction298].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction298].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction299___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction299::action (src/parser//parser.nit:11721,2--11737:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11729,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11731,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/, variable7 /*ptypenode3*/); /*new AIsaExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(42)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction299___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction299::init (src/parser//parser.nit:11739,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction299].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction299].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction300___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction300::action (src/parser//parser.nit:11743,2--11750:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11748,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(43)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction300___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction300::init (src/parser//parser.nit:11752,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction300].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction300].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction301___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction301::action (src/parser//parser.nit:11756,2--11772:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11764,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11766,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APlusExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(43)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction301___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction301::init (src/parser//parser.nit:11774,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction301].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction301].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction302___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction302::action (src/parser//parser.nit:11778,2--11794:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11786,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11788,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AMinusExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(43)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction302___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction302::init (src/parser//parser.nit:11796,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction302].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction302].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction303___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction303::action (src/parser//parser.nit:11800,2--11807:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11805,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(44)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction303___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction303::init (src/parser//parser.nit:11809,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction303].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction303].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction304___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction304::action (src/parser//parser.nit:11813,2--11829:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11821,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11823,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(44)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction304___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction304::init (src/parser//parser.nit:11831,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction304].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction304].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction305___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction305::action (src/parser//parser.nit:11835,2--11851:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11843,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11845,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ASlashExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(44)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction305___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction305::init (src/parser//parser.nit:11853,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction305].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction305].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction306___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction306::action (src/parser//parser.nit:11857,2--11873:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11865,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11867,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APercentExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(44)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction306___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction306::init (src/parser//parser.nit:11875,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction306].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction306].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction307___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction307::action (src/parser//parser.nit:11879,2--11886:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11884,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(45)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction307___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction307::init (src/parser//parser.nit:11888,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction307].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction307].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction308___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction308::action (src/parser//parser.nit:11892,2--11907:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11899,6--34\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11901,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/, variable6 /*pexprnode3*/); /*new AUminusExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(45)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction308___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction308::init (src/parser//parser.nit:11909,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction308].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction308].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction309___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction309::action (src/parser//parser.nit:11913,2--11928:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11920,6--36\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11922,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/, variable6 /*pexprnode3*/); /*new AOnceExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(45)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction309___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction309::init (src/parser//parser.nit:11930,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction309].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction309].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction310___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction310::action (src/parser//parser.nit:11934,2--11941:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11939,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(46)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction310___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction310::init (src/parser//parser.nit:11943,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction310].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction310].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction311___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction311::action (src/parser//parser.nit:11947,2--11975:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable5 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11956,6--34\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11958,6--32\n"); nit_exit(1);} - variable9 = variable2 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11960,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable9 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable9 /*listnode5*/) /*Array::append*/; - } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2081 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2081); + nit_exit(1); } - variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/, variable8 /*ptypenode3*/, NIT_NULL /*null*/, variable6 /*listnode6*/); /*new ANewExpr*/ - variable10 = variable11; - variable1 = variable10 /*pexprnode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(46)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction311___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction311::init (src/parser//parser.nit:11977,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction311].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction311].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction312___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction312::action (src/parser//parser.nit:11981,2--11997:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11989,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:11991,6--36\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/, variable7 /*tattridnode3*/); /*new AAttrExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction312___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction312::init (src/parser//parser.nit:11999,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction312].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction312].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction313___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction313::action (src/parser//parser.nit:12003,2--12016:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12010,6--36\n"); nit_exit(1);} - variable6 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/, variable4 /*tattridnode3*/); /*new AAttrExpr*/ - variable5 = variable6; - variable1 = variable5 /*pexprnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction313___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction313::init (src/parser//parser.nit:12018,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction313].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction313].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction314___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction314::action (src/parser//parser.nit:12022,2--12050:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable6 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12032,6--32\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12034,6--28\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12036,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2083 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2083); + nit_exit(1); } - variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/, variable9 /*tidnode3*/, variable7 /*listnode5*/); /*new ACallExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction314___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction314::init (src/parser//parser.nit:12052,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction314].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction314].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction315___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction315::action (src/parser//parser.nit:12056,2--12081:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12065,6--28\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12067,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:2084 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; } } - variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/, variable6 /*tidnode3*/, variable4 /*listnode5*/); /*new ACallExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction315___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction315::init (src/parser//parser.nit:12083,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction315].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction315].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction316___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction316::action (src/parser//parser.nit:12087,2--12110:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12094,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12096,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2085 */ + array___Array___add(fra.me.REG[7], fra.me.REG[3]); } - variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction316___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction316::init (src/parser//parser.nit:12112,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction316].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction316].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction317___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction317::action (src/parser//parser.nit:12116,2--12142:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12124,6--42\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12126,6--38\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12128,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable8 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:2088 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:2089 */ + } else { + /* ./parser//parser.nit:2091 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); } - variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction317___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction317::init (src/parser//parser.nit:12144,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction317].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction317].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction318___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction318::action (src/parser//parser.nit:12148,2--12176:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable6 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12158,6--32\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12160,6--36\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12162,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]); + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:2098 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:2099 */ + } else { + /* ./parser//parser.nit:2101 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); } - variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/, variable9 /*tkwinitnode3*/, variable7 /*listnode5*/); /*new AInitExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction318___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction318::init (src/parser//parser.nit:12178,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction318].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction318].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction319___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction319::action (src/parser//parser.nit:12182,2--12207:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12191,6--36\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12193,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + /* ./parser//parser.nit:2104 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL); + REGB0 = REGB1; } } - variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/, variable6 /*tkwinitnode3*/, variable4 /*listnode5*/); /*new AInitExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction319___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction319::init (src/parser//parser.nit:12209,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction319].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction319].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction320___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction320::action (src/parser//parser.nit:12213,2--12235:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12220,6--32\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*listnode3*/==NIT_NULL) || VAL_ISA( variable6 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12222,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode3*/ == NIT_NULL /*null*/) || (( variable6 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/, variable6 /*listnode3*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2105 */ + array___Array___add(fra.me.REG[6], fra.me.REG[7]); } - variable8 = NEW_parser_prod___ABraExpr___init_abraexpr( variable5 /*pexprnode2*/, variable4 /*listnode4*/); /*new ABraExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction320___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction320::init (src/parser//parser.nit:12237,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction320].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction320].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction321___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction321::action (src/parser//parser.nit:12241,2--12274:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable8 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12253,6--34\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12255,6--32\n"); nit_exit(1);} - variable12 = variable3 /*nodearraylist6*/; - variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12257,6--28\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist7*/; - variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12259,6--38\n"); nit_exit(1);} - variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ == NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable14)) { /*if*/ - variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable14)) { /*if*/ - variable9 = variable13 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/, variable13 /*listnode5*/) /*Array::append*/; - } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2113 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction17___init(val_t p0, int* init_table){ + int itpos21 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction17].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos21]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2115; + fra.me.meth = LOCATE_parser___ReduceAction17___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2115 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos21] = 1; + return; +} +void parser___ReduceAction18___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2119; + fra.me.meth = LOCATE_parser___ReduceAction18___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:2129 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2129); + nit_exit(1); } - variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/, variable11 /*ptypenode3*/, variable12 /*tidnode4*/, variable9 /*listnode6*/); /*new ANewExpr*/ - variable14 = variable15; - variable1 = variable14 /*pexprnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction321___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction321::init (src/parser//parser.nit:12276,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction321].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction321].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction322___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction322::action (src/parser//parser.nit:12280,2--12301:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable8 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12293,6--32\n"); nit_exit(1);} - variable12 = variable4 /*nodearraylist7*/; - variable13 = TAG_Bool(( variable12 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12295,6--32\n"); nit_exit(1);} - variable14 = NEW_parser_prod___ACrangeExpr___init_acrangeexpr( variable11 /*pexprnode2*/, variable12 /*pexprnode3*/); /*new ACrangeExpr*/ - variable13 = variable14; - variable1 = variable13 /*pexprnode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction322___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction322::init (src/parser//parser.nit:12303,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction322].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction322].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction323___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction323::action (src/parser//parser.nit:12307,2--12328:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable11 = variable8 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12320,6--32\n"); nit_exit(1);} - variable12 = variable4 /*nodearraylist7*/; - variable13 = TAG_Bool(( variable12 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12322,6--32\n"); nit_exit(1);} - variable14 = NEW_parser_prod___AOrangeExpr___init_aorangeexpr( variable11 /*pexprnode2*/, variable12 /*pexprnode3*/); /*new AOrangeExpr*/ - variable13 = variable14; - variable1 = variable13 /*pexprnode1*/ /*node_list=*/; - variable14 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable14, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction323___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction323::init (src/parser//parser.nit:12330,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction323].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction323].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction324___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction324::action (src/parser//parser.nit:12334,2--12352:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12340,6--38\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ == NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable5)) { /*if*/ - variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable5)) { /*if*/ - variable3 = variable4 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/, variable4 /*listnode2*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2131 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2131); + nit_exit(1); } - variable6 = NEW_parser_prod___AArrayExpr___init_aarrayexpr( variable3 /*listnode3*/); /*new AArrayExpr*/ - variable5 = variable6; - variable1 = variable5 /*pexprnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction324___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction324::init (src/parser//parser.nit:12354,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction324].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction324].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction325___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction325::action (src/parser//parser.nit:12358,2--12368:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12363,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction325___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction325::init (src/parser//parser.nit:12370,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction325].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction325].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction326___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction326::action (src/parser//parser.nit:12374,2--12384:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12379,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction326___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction326::init (src/parser//parser.nit:12386,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction326].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction326].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction327___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction327::action (src/parser//parser.nit:12390,2--12400:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12395,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction327___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction327::init (src/parser//parser.nit:12402,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction327].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction327].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction328___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction328::action (src/parser//parser.nit:12406,2--12416:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12411,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction328___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction328::init (src/parser//parser.nit:12418,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction328].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction328].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction329___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction329::action (src/parser//parser.nit:12422,2--12432:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12427,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction329___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction329::init (src/parser//parser.nit:12434,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction329].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction329].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction330___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction330::action (src/parser//parser.nit:12438,2--12448:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12443,6--34\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction330___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction330::init (src/parser//parser.nit:12450,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction330].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction330].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction331___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction331::action (src/parser//parser.nit:12454,2--12464:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12459,6--32\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction331___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction331::init (src/parser//parser.nit:12466,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction331].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction331].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction332___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction332::action (src/parser//parser.nit:12470,2--12480:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12475,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction332___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction332::init (src/parser//parser.nit:12482,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction332].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction332].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction333___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction333::action (src/parser//parser.nit:12486,2--12493:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12491,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction333___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction333::init (src/parser//parser.nit:12495,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction333].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction333].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction334___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction334::action (src/parser//parser.nit:12499,2--12508:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable3 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12506,6--32\n"); nit_exit(1);} - variable1 = variable5 /*pexprnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(47)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction334___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction334::init (src/parser//parser.nit:12510,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction334].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction334].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction335___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction335::action (src/parser//parser.nit:12514,2--12538:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12521,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12523,6--32\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ == NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode2*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode4*/, variable5 /*listnode2*/) /*Array::append*/; - } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2134 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2134); + nit_exit(1); } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode3*/ == NIT_NULL /*null*/) || (( variable6 /*pexprnode3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode3*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode3*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode4*/, variable6 /*pexprnode3*/) /*Array::add*/; - } - variable8 = NEW_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable4 /*listnode4*/); /*new ASuperstringExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(48)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction335___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction335::init (src/parser//parser.nit:12540,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction335].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction336___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction336::action (src/parser//parser.nit:12544,2--12578:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*listnode2*/==NIT_NULL) || VAL_ISA( variable6 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12552,6--38\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode3*/==NIT_NULL) || VAL_ISA( variable7 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12554,6--38\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12556,6--32\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ == NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable6 /*listnode2*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable6 /*listnode2*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2135 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode3*/ == NIT_NULL /*null*/) || (( variable7 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable7 /*listnode3*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable7 /*listnode3*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2136 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); } - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode4*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode4*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*listnode5*/, variable8 /*pexprnode4*/) /*Array::add*/; - } - variable10 = NEW_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable5 /*listnode5*/); /*new ASuperstringExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(48)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction336___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction336::init (src/parser//parser.nit:12580,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction336].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction337___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction337::action (src/parser//parser.nit:12584,2--12603:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable5 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12593,6--32\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12595,6--32\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable7 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable7 /*pexprnode1*/) /*Array::add*/; - } - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable8 /*pexprnode2*/) /*Array::add*/; - } - variable1 = variable6 /*listnode3*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(49)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction337___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction337::init (src/parser//parser.nit:12605,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction337].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction338___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction338::action (src/parser//parser.nit:12609,2--12619:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tstartstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstartstringnode2*/, COLOR_TStartString, ID_TStartString)) /*cast TStartString*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12614,6--46\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AStartStringExpr___init_astartstringexpr( variable3 /*tstartstringnode2*/); /*new AStartStringExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(50)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction338___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction338::init (src/parser//parser.nit:12621,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction338].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction339___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction339::action (src/parser//parser.nit:12625,2--12644:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable5 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12634,6--32\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12636,6--32\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable7 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable7 /*pexprnode1*/) /*Array::add*/; - } - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable8 /*pexprnode2*/) /*Array::add*/; - } - variable1 = variable6 /*listnode3*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(51)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction339___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction339::init (src/parser//parser.nit:12646,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction339].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction340___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction340::action (src/parser//parser.nit:12650,2--12660:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tmidstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tmidstringnode2*/, COLOR_TMidString, ID_TMidString)) /*cast TMidString*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12655,6--42\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AMidStringExpr___init_amidstringexpr( variable3 /*tmidstringnode2*/); /*new AMidStringExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(52)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction340___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction340::init (src/parser//parser.nit:12662,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction340].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction341___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction341::action (src/parser//parser.nit:12666,2--12676:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tendstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tendstringnode2*/, COLOR_TEndString, ID_TEndString)) /*cast TEndString*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12671,6--42\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AEndStringExpr___init_aendstringexpr( variable3 /*tendstringnode2*/); /*new AEndStringExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(53)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction341___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction341::init (src/parser//parser.nit:12678,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction341].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction342___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction342::action (src/parser//parser.nit:12682,2--12697:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable4 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12692,6--32\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/, variable8 /*pexprnode1*/) /*Array::add*/; - } - variable1 = variable7 /*listnode2*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(54)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction342___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction342::init (src/parser//parser.nit:12699,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction342].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction343___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction343::action (src/parser//parser.nit:12703,2--12728:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12714,6--32\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12716,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/, variable9 /*pexprnode1*/) /*Array::add*/; - } - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ == NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable8 = variable10 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/, variable10 /*listnode2*/) /*Array::append*/; - } + fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]); + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:2142 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:2143 */ + } else { + /* ./parser//parser.nit:2145 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); } - variable1 = variable8 /*listnode3*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(54)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction343___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction343::init (src/parser//parser.nit:12730,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction343].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction344___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction344::action (src/parser//parser.nit:12734,2--12742:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable1 = variable5 /*listnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(54)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction344___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction344::init (src/parser//parser.nit:12744,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction344].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction345___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction345::action (src/parser//parser.nit:12748,2--12753:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = NEW_array___Array___init(); /*new Array[Object]*/ - variable2 = variable3; - variable1 = variable2 /*listnode1*/ /*node_list=*/; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(54)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction345___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction345::init (src/parser//parser.nit:12755,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction345].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction346___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction346::action (src/parser//parser.nit:12759,2--12774:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable4 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12769,6--32\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/, variable8 /*pexprnode1*/) /*Array::add*/; - } - variable1 = variable7 /*listnode2*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(55)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction346___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction346::init (src/parser//parser.nit:12776,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction346].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction347___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction347::action (src/parser//parser.nit:12780,2--12805:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12791,6--32\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12793,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/, variable9 /*pexprnode1*/) /*Array::add*/; - } - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ == NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable8 = variable10 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/, variable10 /*listnode2*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + /* ./parser//parser.nit:2148 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL); + REGB0 = REGB1; } } - variable1 = variable8 /*listnode3*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(55)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction347___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction347::init (src/parser//parser.nit:12807,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction347].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction348___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction348::action (src/parser//parser.nit:12811,2--12822:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12817,6--32\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pexprnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(55)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction348___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction348::init (src/parser//parser.nit:12824,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction348].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction349___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction349::action (src/parser//parser.nit:12828,2--12836:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable1 = variable5 /*listnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(55)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction349___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction349::init (src/parser//parser.nit:12838,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction349].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction350___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction350::action (src/parser//parser.nit:12842,2--12847:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = NEW_array___Array___init(); /*new Array[Object]*/ - variable2 = variable3; - variable1 = variable2 /*listnode1*/ /*node_list=*/; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(55)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction350___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction350::init (src/parser//parser.nit:12849,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction350].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction351___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction351::action (src/parser//parser.nit:12853,2--12868:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable4 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12863,6--32\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable9)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode2*/, variable8 /*pexprnode1*/) /*Array::add*/; - } - variable1 = variable7 /*listnode2*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(56)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction351___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction351::init (src/parser//parser.nit:12870,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction351].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction352___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction352::action (src/parser//parser.nit:12874,2--12899:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12885,6--32\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode2*/==NIT_NULL) || VAL_ISA( variable10 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12887,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable9 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable9 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable9 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable9 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable11)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable8 /*listnode3*/, variable9 /*pexprnode1*/) /*Array::add*/; - } - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode2*/ == NIT_NULL /*null*/) || (( variable10 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable8 = variable10 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode3*/, variable10 /*listnode2*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2149 */ + array___Array___add(fra.me.REG[6], fra.me.REG[7]); } - variable1 = variable8 /*listnode3*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(56)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction352___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction352::init (src/parser//parser.nit:12901,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction352].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction353___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction353::action (src/parser//parser.nit:12905,2--12915:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable3 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12913,6--32\n"); nit_exit(1);} - variable1 = variable6 /*pexprnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(57)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction353___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction353::init (src/parser//parser.nit:12917,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction353].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction354___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction354::action (src/parser//parser.nit:12921,2--12933:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12927,6--38\n"); nit_exit(1);} - variable6 = NEW_parser_prod___AQualified___init_aqualified( variable3 /*listnode2*/, variable4 /*tclassidnode3*/); /*new AQualified*/ - variable5 = variable6; - variable1 = variable5 /*pqualifiednode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(58)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction354___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction354::init (src/parser//parser.nit:12935,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction354].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction355___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction355::action (src/parser//parser.nit:12939,2--12961:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12946,6--38\n"); nit_exit(1);} - variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ == NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable6)) { /*if*/ - variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable6)) { /*if*/ - variable4 = variable5 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode2*/) /*Array::append*/; - } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2157 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction18___init(val_t p0, int* init_table){ + int itpos22 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction18].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos22]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2159; + fra.me.meth = LOCATE_parser___ReduceAction18___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2159 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos22] = 1; + return; +} +void parser___ReduceAction19___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2163; + fra.me.meth = LOCATE_parser___ReduceAction19___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:2174 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2174); + nit_exit(1); } - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*tclassidnode4*/==NIT_NULL) || VAL_ISA( variable6 /*tclassidnode4*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12955,6--38\n"); nit_exit(1);} - variable8 = NEW_parser_prod___AQualified___init_aqualified( variable4 /*listnode3*/, variable6 /*tclassidnode4*/); /*new AQualified*/ - variable7 = variable8; - variable1 = variable7 /*pqualifiednode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(58)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction355___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction355::init (src/parser//parser.nit:12963,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction355].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction356___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction356::action (src/parser//parser.nit:12967,2--12986:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12973,6--38\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ == NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable5)) { /*if*/ - variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable5)) { /*if*/ - variable3 = variable4 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/, variable4 /*listnode2*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2176 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2176); + nit_exit(1); } - variable6 = NEW_parser_prod___AQualified___init_aqualified( variable3 /*listnode3*/, NIT_NULL /*null*/); /*new AQualified*/ - variable5 = variable6; - variable1 = variable5 /*pqualifiednode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(58)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction356___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction356::init (src/parser//parser.nit:12988,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction356].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction357___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction357::action (src/parser//parser.nit:12992,2--13001:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tidnode1*/==NIT_NULL) || VAL_ISA( variable5 /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:12999,6--28\n"); nit_exit(1);} - variable1 = variable5 /*tidnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(59)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction357___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction357::init (src/parser//parser.nit:13003,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction357].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction358___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction358::action (src/parser//parser.nit:13007,2--13016:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tclassidnode1*/==NIT_NULL) || VAL_ISA( variable5 /*tclassidnode1*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13014,6--38\n"); nit_exit(1);} - variable1 = variable5 /*tclassidnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(60)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction358___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction358::init (src/parser//parser.nit:13018,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction358].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction359___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction359::action (src/parser//parser.nit:13022,2--13026:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(61)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction359___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction359::init (src/parser//parser.nit:13028,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction359].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction360___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction360::action (src/parser//parser.nit:13032,2--13036:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(61)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction360___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction360::init (src/parser//parser.nit:13038,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction360].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction361___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction361::action (src/parser//parser.nit:13042,2--13060:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*listnode2*/==NIT_NULL) || VAL_ISA( variable4 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13048,6--38\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode2*/ == NIT_NULL /*null*/) || (( variable4 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable5)) { /*if*/ - variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable5)) { /*if*/ - variable3 = variable4 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode3*/, variable4 /*listnode2*/) /*Array::append*/; - } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2179 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2179); + nit_exit(1); } - variable6 = NEW_parser_prod___ADoc___init_adoc( variable3 /*listnode3*/); /*new ADoc*/ - variable5 = variable6; - variable1 = variable5 /*pdocnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(62)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction361___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction361::init (src/parser//parser.nit:13062,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction361].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction362___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction362::action (src/parser//parser.nit:13066,2--13085:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*listnode2*/==NIT_NULL) || VAL_ISA( variable5 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13073,6--38\n"); nit_exit(1);} - variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode2*/ == NIT_NULL /*null*/) || (( variable5 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable6)) { /*if*/ - variable6 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable6)) { /*if*/ - variable4 = variable5 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode2*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2181 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2181); + nit_exit(1); } - variable7 = NEW_parser_prod___ADoc___init_adoc( variable4 /*listnode3*/); /*new ADoc*/ - variable6 = variable7; - variable1 = variable6 /*pdocnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(62)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction362___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction362::init (src/parser//parser.nit:13087,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction362].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction363___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction363::action (src/parser//parser.nit:13091,2--13096:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable1 = NIT_NULL /*null*/ /*node_list=*/; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(62)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction363___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction363::init (src/parser//parser.nit:13098,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction363].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction364___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction364::action (src/parser//parser.nit:13102,2--13106:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable1 = NIT_NULL /*null*/ /*node_list=*/; - variable2 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(63)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable2, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction364___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction364::init (src/parser//parser.nit:13108,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction364].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction365___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction365::action (src/parser//parser.nit:13112,2--13119:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pdocnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pdocnode1*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13117,6--30\n"); nit_exit(1);} - variable1 = variable3 /*pdocnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(63)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction365___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction365::init (src/parser//parser.nit:13121,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction365].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction366___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction366::action (src/parser//parser.nit:13125,2--13130:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(64)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction366___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction366::init (src/parser//parser.nit:13132,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction366].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction367___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction367::action (src/parser//parser.nit:13136,2--13142:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(64)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction367___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction367::init (src/parser//parser.nit:13144,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction367].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction368___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction368::action (src/parser//parser.nit:13148,2--13152:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(64)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction368___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction368::init (src/parser//parser.nit:13154,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction368].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction369___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction369::action (src/parser//parser.nit:13158,2--13170:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13164,6--38\n"); nit_exit(1);} - variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/, variable3 /*listnode3*/); /*new AType*/ - variable5 = variable6; - variable1 = variable5 /*ptypenode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(65)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction369___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction369::init (src/parser//parser.nit:13172,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction369].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction370___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction370::action (src/parser//parser.nit:13176,2--13183:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13181,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(66)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction370___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction370::init (src/parser//parser.nit:13185,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction370].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction371___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction371::action (src/parser//parser.nit:13189,2--13224:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13204,6--32\n"); nit_exit(1);} - variable14 = variable10 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13206,6--32\n"); nit_exit(1);} - variable15 = variable8 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13208,6--36\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist7*/; - variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13210,6--32\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist9*/; - variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13212,6--36\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist11*/; - variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13214,6--32\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/, variable14 /*pexprnode3*/, variable15 /*tkwthennode4*/, variable16 /*pexprnode5*/, variable17 /*tkwelsenode6*/, variable18 /*pexprnode7*/); /*new AIfexprExpr*/ - variable19 = variable20; - variable1 = variable19 /*pexprnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(66)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction371___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction371::init (src/parser//parser.nit:13226,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction371].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction372___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction372::action (src/parser//parser.nit:13230,2--13237:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13235,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(67)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction372___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction372::init (src/parser//parser.nit:13239,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction372].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction373___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction373::action (src/parser//parser.nit:13243,2--13259:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13251,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13253,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AOrExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(67)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction373___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction373::init (src/parser//parser.nit:13261,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction373].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction374___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction374::action (src/parser//parser.nit:13265,2--13281:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13273,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13275,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AAndExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(67)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction374___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction374::init (src/parser//parser.nit:13283,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction374].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction375___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction375::action (src/parser//parser.nit:13287,2--13294:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13292,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(68)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction375___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction375::init (src/parser//parser.nit:13296,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction375].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction376___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction376::action (src/parser//parser.nit:13300,2--13315:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13307,6--34\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13309,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/, variable6 /*pexprnode3*/); /*new ANotExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(68)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction376___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction376::init (src/parser//parser.nit:13317,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction376].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction377___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction377::action (src/parser//parser.nit:13321,2--13328:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13326,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction377___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction377::init (src/parser//parser.nit:13330,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction377].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction378___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction378::action (src/parser//parser.nit:13334,2--13350:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13342,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13344,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEqExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction378___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction378::init (src/parser//parser.nit:13352,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction378].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction379___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction379::action (src/parser//parser.nit:13356,2--13372:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13364,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13366,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction379___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction379::init (src/parser//parser.nit:13374,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction379].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction380___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction380::action (src/parser//parser.nit:13378,2--13394:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13386,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13388,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ANeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction380___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction380::init (src/parser//parser.nit:13396,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction380].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction381___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction381::action (src/parser//parser.nit:13400,2--13416:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13408,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13410,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALtExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction381___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction381::init (src/parser//parser.nit:13418,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction381].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction382___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction382::action (src/parser//parser.nit:13422,2--13438:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13430,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13432,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction382___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction382::init (src/parser//parser.nit:13440,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction382].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction383___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction383::action (src/parser//parser.nit:13444,2--13460:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13452,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13454,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGtExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction383___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction383::init (src/parser//parser.nit:13462,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction383].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction384___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction384::action (src/parser//parser.nit:13466,2--13482:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13474,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13476,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction384___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction384::init (src/parser//parser.nit:13484,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction384].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction385___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction385::action (src/parser//parser.nit:13488,2--13504:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13496,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13498,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarshipExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction385___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction385::init (src/parser//parser.nit:13506,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction385].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction386___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction386::action (src/parser//parser.nit:13510,2--13526:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13518,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13520,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/, variable7 /*ptypenode3*/); /*new AIsaExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(69)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction386___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction386::init (src/parser//parser.nit:13528,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction386].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction387___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction387::action (src/parser//parser.nit:13532,2--13539:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13537,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(70)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction387___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction387::init (src/parser//parser.nit:13541,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction387].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction388___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction388::action (src/parser//parser.nit:13545,2--13561:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13553,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13555,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APlusExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(70)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction388___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction388::init (src/parser//parser.nit:13563,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction388].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction389___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction389::action (src/parser//parser.nit:13567,2--13583:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13575,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13577,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AMinusExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(70)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction389___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction389::init (src/parser//parser.nit:13585,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction389].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction390___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction390::action (src/parser//parser.nit:13589,2--13596:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13594,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(71)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction390___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction390::init (src/parser//parser.nit:13598,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction390].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction391___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction391::action (src/parser//parser.nit:13602,2--13618:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13610,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13612,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(71)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction391___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction391::init (src/parser//parser.nit:13620,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction391].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction392___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction392::action (src/parser//parser.nit:13624,2--13640:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13632,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13634,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ASlashExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(71)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction392___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction392::init (src/parser//parser.nit:13642,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction392].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction393___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction393::action (src/parser//parser.nit:13646,2--13662:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13654,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13656,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APercentExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(71)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction393___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction393::init (src/parser//parser.nit:13664,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction393].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction394___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction394::action (src/parser//parser.nit:13668,2--13675:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13673,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(72)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction394___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction394::init (src/parser//parser.nit:13677,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction394].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction395___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction395::action (src/parser//parser.nit:13681,2--13696:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13688,6--34\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13690,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/, variable6 /*pexprnode3*/); /*new AUminusExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(72)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction395___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction395::init (src/parser//parser.nit:13698,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction395].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction396___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction396::action (src/parser//parser.nit:13702,2--13717:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13709,6--36\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13711,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/, variable6 /*pexprnode3*/); /*new AOnceExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(72)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction396___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction396::init (src/parser//parser.nit:13719,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction396].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction397___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction397::action (src/parser//parser.nit:13723,2--13730:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13728,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(73)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction397___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction397::init (src/parser//parser.nit:13732,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction397].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction398___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction398::action (src/parser//parser.nit:13736,2--13764:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable5 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13745,6--34\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13747,6--32\n"); nit_exit(1);} - variable9 = variable2 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13749,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable9 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable9 /*listnode5*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:2182 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; } } - variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/, variable8 /*ptypenode3*/, NIT_NULL /*null*/, variable6 /*listnode6*/); /*new ANewExpr*/ - variable10 = variable11; - variable1 = variable10 /*pexprnode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(73)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction398___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction398::init (src/parser//parser.nit:13766,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction398].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction399___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction399::action (src/parser//parser.nit:13770,2--13786:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13778,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13780,6--36\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/, variable7 /*tattridnode3*/); /*new AAttrExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction399___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction399::init (src/parser//parser.nit:13788,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction399].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction400___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction400::action (src/parser//parser.nit:13792,2--13805:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13799,6--36\n"); nit_exit(1);} - variable6 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/, variable4 /*tattridnode3*/); /*new AAttrExpr*/ - variable5 = variable6; - variable1 = variable5 /*pexprnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction400___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction400::init (src/parser//parser.nit:13807,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction400].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction401___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction401::action (src/parser//parser.nit:13811,2--13839:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable6 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13821,6--32\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13823,6--28\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13825,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2183 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); } - variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/, variable9 /*tidnode3*/, variable7 /*listnode5*/); /*new ACallExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction401___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction401::init (src/parser//parser.nit:13841,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction401].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction402___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction402::action (src/parser//parser.nit:13845,2--13870:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13854,6--28\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13856,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:2186 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[2]; + /* ./parser//parser.nit:2187 */ + } else { + /* ./parser//parser.nit:2189 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]); } - variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/, variable6 /*tidnode3*/, variable4 /*listnode5*/); /*new ACallExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction402___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction402::init (src/parser//parser.nit:13872,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction402].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction403___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction403::action (src/parser//parser.nit:13876,2--13899:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13883,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13885,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[8] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]); + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:2196 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:2197 */ + } else { + /* ./parser//parser.nit:2199 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); } - variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction403___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction403::init (src/parser//parser.nit:13901,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction403].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction404___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction404::action (src/parser//parser.nit:13905,2--13931:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13913,6--42\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13915,6--38\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13917,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable8 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL); + /* ./parser//parser.nit:2202 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL); + REGB0 = REGB1; } } - variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction404___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction404::init (src/parser//parser.nit:13933,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction404].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction405___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction405::action (src/parser//parser.nit:13937,2--13965:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable6 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13947,6--32\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13949,6--36\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13951,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2203 */ + array___Array___add(fra.me.REG[7], fra.me.REG[8]); } - variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/, variable9 /*tkwinitnode3*/, variable7 /*listnode5*/); /*new AInitExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction405___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction405::init (src/parser//parser.nit:13967,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction405].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction406___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction406::action (src/parser//parser.nit:13971,2--13996:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13980,6--36\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:13982,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2211 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction19___init(val_t p0, int* init_table){ + int itpos23 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction19].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos23]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2213; + fra.me.meth = LOCATE_parser___ReduceAction19___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2213 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos23] = 1; + return; +} +void parser___ReduceAction20___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2217; + fra.me.meth = LOCATE_parser___ReduceAction20___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2227 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2227); + nit_exit(1); } - variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/, variable6 /*tkwinitnode3*/, variable4 /*listnode5*/); /*new AInitExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction406___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction406::init (src/parser//parser.nit:13998,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction406].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction407___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction407::action (src/parser//parser.nit:14002,2--14035:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable8 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14014,6--34\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14016,6--32\n"); nit_exit(1);} - variable12 = variable3 /*nodearraylist6*/; - variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14018,6--28\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist7*/; - variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14020,6--38\n"); nit_exit(1);} - variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ == NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable14)) { /*if*/ - variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable14)) { /*if*/ - variable9 = variable13 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/, variable13 /*listnode5*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:2229 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[4]; + /* ./parser//parser.nit:2230 */ + } else { + /* ./parser//parser.nit:2232 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]); } - variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/, variable11 /*ptypenode3*/, variable12 /*tidnode4*/, variable9 /*listnode6*/); /*new ANewExpr*/ - variable14 = variable15; - variable1 = variable14 /*pexprnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction407___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction407::init (src/parser//parser.nit:14037,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction407].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction408___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction408::action (src/parser//parser.nit:14041,2--14051:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14046,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction408___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction408::init (src/parser//parser.nit:14053,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction408].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction408].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction409___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction409::action (src/parser//parser.nit:14057,2--14067:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14062,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction409___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction409::init (src/parser//parser.nit:14069,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction409].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction409].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction410___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction410::action (src/parser//parser.nit:14073,2--14083:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14078,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction410___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction410::init (src/parser//parser.nit:14085,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction410].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction410].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction411___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction411::action (src/parser//parser.nit:14089,2--14099:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14094,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction411___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction411::init (src/parser//parser.nit:14101,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction411].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction411].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction412___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction412::action (src/parser//parser.nit:14105,2--14115:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14110,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction412___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction412::init (src/parser//parser.nit:14117,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction412].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction412].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction413___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction413::action (src/parser//parser.nit:14121,2--14131:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14126,6--34\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction413___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction413::init (src/parser//parser.nit:14133,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction413].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction413].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction414___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction414::action (src/parser//parser.nit:14137,2--14147:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14142,6--32\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction414___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction414::init (src/parser//parser.nit:14149,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction414].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction414].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction415___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction415::action (src/parser//parser.nit:14153,2--14163:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14158,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction415___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction415::init (src/parser//parser.nit:14165,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction415].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction415].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction416___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction416::action (src/parser//parser.nit:14169,2--14176:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14174,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction416___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction416::init (src/parser//parser.nit:14178,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction416].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction416].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction417___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction417::action (src/parser//parser.nit:14182,2--14191:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable3 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14189,6--32\n"); nit_exit(1);} - variable1 = variable5 /*pexprnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(74)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction417___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction417::init (src/parser//parser.nit:14193,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction417].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction417].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction418___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction418::action (src/parser//parser.nit:14197,2--14204:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14202,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(75)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction418___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction418::init (src/parser//parser.nit:14206,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction418].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction418].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction419___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction419::action (src/parser//parser.nit:14210,2--14227:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable4 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14219,6--32\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable7 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable7 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable8)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable6 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*listnode3*/, variable7 /*pexprnode2*/) /*Array::add*/; - } - variable9 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable6 /*listnode3*/); /*new ABlockExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(75)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction419___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction419::init (src/parser//parser.nit:14229,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction419].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction419].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction420___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction420::action (src/parser//parser.nit:14233,2--14260:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable5 /*nodearraylist2*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14243,6--32\n"); nit_exit(1);} - variable9 = variable4 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*listnode3*/==NIT_NULL) || VAL_ISA( variable9 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14245,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable8 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable8 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable10)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___SimpleCollection___add))( variable7 /*listnode4*/, variable8 /*pexprnode2*/) /*Array::add*/; - } - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode3*/ == NIT_NULL /*null*/) || (( variable9 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable7 = variable9 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode4*/, variable9 /*listnode3*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2236 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2236); + nit_exit(1); } - variable11 = NEW_parser_prod___ABlockExpr___init_ablockexpr( variable7 /*listnode4*/); /*new ABlockExpr*/ - variable10 = variable11; - variable1 = variable10 /*pexprnode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(75)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction420___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction420::init (src/parser//parser.nit:14262,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction420].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction421___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction421::action (src/parser//parser.nit:14266,2--14272:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable1 = NIT_NULL /*null*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(75)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction421___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction421::init (src/parser//parser.nit:14274,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction421].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction422___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction422::action (src/parser//parser.nit:14278,2--14283:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable1 = NIT_NULL /*null*/ /*node_list=*/; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(75)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction422___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction422::init (src/parser//parser.nit:14285,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction422].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction423___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction423::action (src/parser//parser.nit:14289,2--14296:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14294,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction423___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction423::init (src/parser//parser.nit:14298,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction423].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction424___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction424::action (src/parser//parser.nit:14302,2--14309:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14307,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction424___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction424::init (src/parser//parser.nit:14311,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction424].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction425___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction425::action (src/parser//parser.nit:14315,2--14326:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14320,6--40\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable3 /*tkwreturnnode2*/, NIT_NULL /*null*/); /*new AReturnExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction425___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction425::init (src/parser//parser.nit:14328,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction425].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction426___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction426::action (src/parser//parser.nit:14332,2--14346:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14338,6--40\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14340,6--32\n"); nit_exit(1);} - variable7 = NEW_parser_prod___AReturnExpr___init_areturnexpr( variable4 /*tkwreturnnode2*/, variable5 /*pexprnode3*/); /*new AReturnExpr*/ - variable6 = variable7; - variable1 = variable6 /*pexprnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction426___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction426::init (src/parser//parser.nit:14348,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction426].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction427___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction427::action (src/parser//parser.nit:14352,2--14362:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14357,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ABreakExpr___init_abreakexpr( variable3 /*tkwbreaknode2*/); /*new ABreakExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction427___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction427::init (src/parser//parser.nit:14364,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction427].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction428___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction428::action (src/parser//parser.nit:14368,2--14378:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14373,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AAbortExpr___init_aabortexpr( variable3 /*tkwabortnode2*/); /*new AAbortExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction428___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction428::init (src/parser//parser.nit:14380,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction428].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction429___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction429::action (src/parser//parser.nit:14384,2--14394:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14389,6--44\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AContinueExpr___init_acontinueexpr( variable3 /*tkwcontinuenode2*/); /*new AContinueExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction429___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction429::init (src/parser//parser.nit:14396,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction429].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction430___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction430::action (src/parser//parser.nit:14400,2--14407:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14405,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction430___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction430::init (src/parser//parser.nit:14409,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction430].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction431___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction431::action (src/parser//parser.nit:14413,2--14420:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14418,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction431___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction431::init (src/parser//parser.nit:14422,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction431].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction432___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction432::action (src/parser//parser.nit:14426,2--14433:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14431,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction432___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction432::init (src/parser//parser.nit:14435,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction432].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction433___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction433::action (src/parser//parser.nit:14439,2--14446:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14444,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction433___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction433::init (src/parser//parser.nit:14448,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction433].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction434___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction434::action (src/parser//parser.nit:14452,2--14459:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14457,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction434___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction434::init (src/parser//parser.nit:14461,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction434].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction435___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction435::action (src/parser//parser.nit:14465,2--14493:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable6 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14475,6--32\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14477,6--28\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14479,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2239 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2239); + nit_exit(1); } - variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/, variable9 /*tidnode3*/, variable7 /*listnode5*/); /*new ACallExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction435___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction435::init (src/parser//parser.nit:14495,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction435].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction436___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction436::action (src/parser//parser.nit:14499,2--14524:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14508,6--28\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14510,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2240 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/, variable6 /*tidnode3*/, variable4 /*listnode5*/); /*new ACallExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction436___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction436::init (src/parser//parser.nit:14526,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction436].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction437___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction437::action (src/parser//parser.nit:14530,2--14553:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14537,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14539,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2241 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); } - variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction437___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction437::init (src/parser//parser.nit:14555,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction437].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction438___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction438::action (src/parser//parser.nit:14559,2--14585:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14567,6--42\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14569,6--38\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14571,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable8 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]); + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:2247 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:2248 */ + } else { + /* ./parser//parser.nit:2250 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); } - variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction438___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction438::init (src/parser//parser.nit:14587,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction438].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction439___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction439::action (src/parser//parser.nit:14591,2--14619:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable6 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14601,6--32\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14603,6--36\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14605,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:2253 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; } } - variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/, variable9 /*tkwinitnode3*/, variable7 /*listnode5*/); /*new AInitExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction439___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction439::init (src/parser//parser.nit:14621,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction439].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction440___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction440::action (src/parser//parser.nit:14625,2--14650:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14634,6--36\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14636,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2254 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); } - variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/, variable6 /*tkwinitnode3*/, variable4 /*listnode5*/); /*new AInitExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(76)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction440___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction440::init (src/parser//parser.nit:14652,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction440].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction441___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction441::action (src/parser//parser.nit:14656,2--14670:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable4 /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14662,6--32\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14664,6--32\n"); nit_exit(1);} - variable7 = NEW_parser_prod___ADoExpr___init_adoexpr( variable4 /*tkwdonode2*/, variable5 /*pexprnode3*/); /*new ADoExpr*/ - variable6 = variable7; - variable1 = variable6 /*pexprnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(77)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction441___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction441::init (src/parser//parser.nit:14672,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction441].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction442___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction442::action (src/parser//parser.nit:14676,2--14702:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable10 = variable9 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14688,6--32\n"); nit_exit(1);} - variable11 = variable7 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14690,6--32\n"); nit_exit(1);} - variable12 = variable4 /*nodearraylist6*/; - variable13 = TAG_Bool(( variable12 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable12 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14692,6--32\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist8*/; - variable14 = TAG_Bool(( variable13 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable13 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14694,6--32\n"); nit_exit(1);} - variable15 = NEW_parser_prod___AIfExpr___init_aifexpr( variable10 /*tkwifnode2*/, variable11 /*pexprnode3*/, variable12 /*pexprnode4*/, variable13 /*pexprnode5*/); /*new AIfExpr*/ - variable14 = variable15; - variable1 = variable14 /*pexprnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(78)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction442___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction442::init (src/parser//parser.nit:14704,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction442].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction443___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction443::action (src/parser//parser.nit:14708,2--14732:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable8 = variable7 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable8 /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14718,6--38\n"); nit_exit(1);} - variable9 = variable5 /*nodearraylist3*/; - variable10 = TAG_Bool(( variable9 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable9 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14720,6--32\n"); nit_exit(1);} - variable10 = variable3 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable10 /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14722,6--32\n"); nit_exit(1);} - variable11 = variable2 /*nodearraylist6*/; - variable12 = TAG_Bool(( variable11 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable11 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14724,6--32\n"); nit_exit(1);} - variable13 = NEW_parser_prod___AWhileExpr___init_awhileexpr( variable8 /*tkwwhilenode2*/, variable9 /*pexprnode3*/, variable10 /*tkwdonode4*/, variable11 /*pexprnode5*/); /*new AWhileExpr*/ - variable12 = variable13; - variable1 = variable12 /*pexprnode1*/ /*node_list=*/; - variable13 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(79)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable13, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction443___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction443::init (src/parser//parser.nit:14734,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction443].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction444___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction444::action (src/parser//parser.nit:14738,2--14757:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14746,6--32\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist3*/; - variable8 = TAG_Bool(( variable7 /*tkwdonode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwdonode3*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14748,6--32\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist4*/; - variable9 = TAG_Bool(( variable8 /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14750,6--32\n"); nit_exit(1);} - variable10 = NEW_parser_prod___AForExpr___init_aforexpr( variable6 /*pexprnode2*/, variable7 /*tkwdonode3*/, variable8 /*pexprnode4*/); /*new AForExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(80)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction444___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction444::init (src/parser//parser.nit:14759,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction444].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction445___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction445::action (src/parser//parser.nit:14763,2--14775:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14769,6--38\n"); nit_exit(1);} - variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/, variable3 /*listnode3*/); /*new AType*/ - variable5 = variable6; - variable1 = variable5 /*ptypenode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(81)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction445___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction445::init (src/parser//parser.nit:14777,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction445].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction446___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction446::action (src/parser//parser.nit:14781,2--14807:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = NEW_array___Array___init(); /*new Array[Object]*/ - variable8 = variable9; - variable9 = variable7 /*nodearraylist1*/; - variable10 = TAG_Bool(( variable9 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable9 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14792,6--38\n"); nit_exit(1);} - variable10 = variable4 /*nodearraylist4*/; - variable11 = TAG_Bool(( variable10 /*listnode3*/==NIT_NULL) || VAL_ISA( variable10 /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14794,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode3*/ == NIT_NULL /*null*/) || (( variable10 /*listnode3*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode3*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode3*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___Collection___is_empty))( variable8 /*listnode4*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable8 = variable10 /*listnode3*/ /*listnode4=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable8 /*listnode4*/,COLOR_abstract_collection___IndexedCollection___append))( variable8 /*listnode4*/, variable10 /*listnode3*/) /*Array::append*/; - } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2262 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction20___init(val_t p0, int* init_table){ + int itpos24 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction20].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos24]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2264; + fra.me.meth = LOCATE_parser___ReduceAction20___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2264 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos24] = 1; + return; +} +void parser___ReduceAction21___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2268; + fra.me.meth = LOCATE_parser___ReduceAction21___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2279 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2279); + nit_exit(1); } - variable12 = NEW_parser_prod___AType___init_atype( variable9 /*tclassidnode2*/, variable8 /*listnode4*/); /*new AType*/ - variable11 = variable12; - variable1 = variable11 /*ptypenode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(81)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction446___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction446::init (src/parser//parser.nit:14809,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction446].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction447___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction447::action (src/parser//parser.nit:14813,2--14820:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14818,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(82)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction447___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction447::init (src/parser//parser.nit:14822,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction447].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction448___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction448::action (src/parser//parser.nit:14826,2--14861:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14841,6--32\n"); nit_exit(1);} - variable14 = variable10 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14843,6--32\n"); nit_exit(1);} - variable15 = variable8 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14845,6--36\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist7*/; - variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14847,6--32\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist9*/; - variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14849,6--36\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist11*/; - variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14851,6--32\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/, variable14 /*pexprnode3*/, variable15 /*tkwthennode4*/, variable16 /*pexprnode5*/, variable17 /*tkwelsenode6*/, variable18 /*pexprnode7*/); /*new AIfexprExpr*/ - variable19 = variable20; - variable1 = variable19 /*pexprnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(82)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction448___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction448::init (src/parser//parser.nit:14863,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction448].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction449___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction449::action (src/parser//parser.nit:14867,2--14874:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14872,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(83)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction449___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction449::init (src/parser//parser.nit:14876,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction449].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction450___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction450::action (src/parser//parser.nit:14880,2--14896:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14888,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14890,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AOrExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(83)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction450___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction450::init (src/parser//parser.nit:14898,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction450].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction451___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction451::action (src/parser//parser.nit:14902,2--14918:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14910,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14912,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AAndExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(83)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction451___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction451::init (src/parser//parser.nit:14920,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction451].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction452___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction452::action (src/parser//parser.nit:14924,2--14931:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14929,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(84)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction452___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction452::init (src/parser//parser.nit:14933,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction452].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction453___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction453::action (src/parser//parser.nit:14937,2--14952:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14944,6--34\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14946,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/, variable6 /*pexprnode3*/); /*new ANotExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(84)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction453___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction453::init (src/parser//parser.nit:14954,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction453].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction454___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction454::action (src/parser//parser.nit:14958,2--14965:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14963,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction454___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction454::init (src/parser//parser.nit:14967,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction454].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction455___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction455::action (src/parser//parser.nit:14971,2--14987:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14979,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:14981,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEqExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction455___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction455::init (src/parser//parser.nit:14989,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction455].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction456___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction456::action (src/parser//parser.nit:14993,2--15009:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15001,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15003,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction456___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction456::init (src/parser//parser.nit:15011,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction456].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction457___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction457::action (src/parser//parser.nit:15015,2--15031:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15023,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15025,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ANeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction457___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction457::init (src/parser//parser.nit:15033,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction457].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction458___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction458::action (src/parser//parser.nit:15037,2--15053:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15045,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15047,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALtExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction458___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction458::init (src/parser//parser.nit:15055,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction458].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction459___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction459::action (src/parser//parser.nit:15059,2--15075:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15067,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15069,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction459___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction459::init (src/parser//parser.nit:15077,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction459].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction460___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction460::action (src/parser//parser.nit:15081,2--15097:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15089,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15091,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGtExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction460___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction460::init (src/parser//parser.nit:15099,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction460].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction461___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction461::action (src/parser//parser.nit:15103,2--15119:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15111,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15113,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction461___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction461::init (src/parser//parser.nit:15121,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction461].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction462___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction462::action (src/parser//parser.nit:15125,2--15141:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15133,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15135,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarshipExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction462___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction462::init (src/parser//parser.nit:15143,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction462].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction463___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction463::action (src/parser//parser.nit:15147,2--15163:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15155,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15157,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/, variable7 /*ptypenode3*/); /*new AIsaExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(85)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction463___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction463::init (src/parser//parser.nit:15165,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction463].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction464___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction464::action (src/parser//parser.nit:15169,2--15176:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15174,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(86)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction464___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction464::init (src/parser//parser.nit:15178,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction464].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction465___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction465::action (src/parser//parser.nit:15182,2--15198:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15190,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15192,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APlusExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(86)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction465___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction465::init (src/parser//parser.nit:15200,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction465].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction466___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction466::action (src/parser//parser.nit:15204,2--15220:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15212,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15214,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AMinusExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(86)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction466___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction466::init (src/parser//parser.nit:15222,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction466].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction467___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction467::action (src/parser//parser.nit:15226,2--15233:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15231,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(87)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction467___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction467::init (src/parser//parser.nit:15235,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction467].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction468___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction468::action (src/parser//parser.nit:15239,2--15255:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15247,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15249,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(87)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction468___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction468::init (src/parser//parser.nit:15257,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction468].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction469___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction469::action (src/parser//parser.nit:15261,2--15277:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15269,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15271,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ASlashExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(87)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction469___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction469::init (src/parser//parser.nit:15279,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction469].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction470___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction470::action (src/parser//parser.nit:15283,2--15299:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15291,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15293,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APercentExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(87)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction470___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction470::init (src/parser//parser.nit:15301,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction470].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction471___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction471::action (src/parser//parser.nit:15305,2--15312:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15310,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(88)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction471___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction471::init (src/parser//parser.nit:15314,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction471].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction472___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction472::action (src/parser//parser.nit:15318,2--15333:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15325,6--34\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15327,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/, variable6 /*pexprnode3*/); /*new AUminusExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(88)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction472___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction472::init (src/parser//parser.nit:15335,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction472].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction473___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction473::action (src/parser//parser.nit:15339,2--15354:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15346,6--36\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15348,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/, variable6 /*pexprnode3*/); /*new AOnceExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(88)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction473___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction473::init (src/parser//parser.nit:15356,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction473].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction474___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction474::action (src/parser//parser.nit:15360,2--15367:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15365,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(89)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction474___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction474::init (src/parser//parser.nit:15369,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction474].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction475___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction475::action (src/parser//parser.nit:15373,2--15401:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable5 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15382,6--34\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15384,6--32\n"); nit_exit(1);} - variable9 = variable2 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15386,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable9 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable9 /*listnode5*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:2281 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[5]; + /* ./parser//parser.nit:2282 */ + } else { + /* ./parser//parser.nit:2284 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]); } - variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/, variable8 /*ptypenode3*/, NIT_NULL /*null*/, variable6 /*listnode6*/); /*new ANewExpr*/ - variable10 = variable11; - variable1 = variable10 /*pexprnode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(89)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction475___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction475::init (src/parser//parser.nit:15403,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction475].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction476___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction476::action (src/parser//parser.nit:15407,2--15423:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15415,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15417,6--36\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable6 /*pexprnode2*/, variable7 /*tattridnode3*/); /*new AAttrExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction476___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction476::init (src/parser//parser.nit:15425,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction476].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction477___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction477::action (src/parser//parser.nit:15429,2--15442:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable4 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15436,6--36\n"); nit_exit(1);} - variable6 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable3 /*pexprnode2*/, variable4 /*tattridnode3*/); /*new AAttrExpr*/ - variable5 = variable6; - variable1 = variable5 /*pexprnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction477___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction477::init (src/parser//parser.nit:15444,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction477].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction478___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction478::action (src/parser//parser.nit:15448,2--15476:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable6 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15458,6--32\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15460,6--28\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15462,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2288 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2288); + nit_exit(1); } - variable12 = NEW_parser_prod___ACallExpr___init_acallexpr( variable8 /*pexprnode2*/, variable9 /*tidnode3*/, variable7 /*listnode5*/); /*new ACallExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction478___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction478::init (src/parser//parser.nit:15478,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction478].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction479___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction479::action (src/parser//parser.nit:15482,2--15507:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15491,6--28\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15493,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2291 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2291); + nit_exit(1); } - variable9 = NEW_parser_prod___ACallExpr___init_acallexpr( variable5 /*pexprnode2*/, variable6 /*tidnode3*/, variable4 /*listnode5*/); /*new ACallExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction479___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction479::init (src/parser//parser.nit:15509,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction479].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction480___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction480::action (src/parser//parser.nit:15513,2--15536:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15520,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15522,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2293 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2293); + nit_exit(1); } - variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction480___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction480::init (src/parser//parser.nit:15538,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction480].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction481___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction481::action (src/parser//parser.nit:15542,2--15568:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15550,6--42\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15552,6--38\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15554,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable8 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:2294 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; } } - variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction481___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction481::init (src/parser//parser.nit:15570,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction481].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction482___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction482::action (src/parser//parser.nit:15574,2--15602:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = NEW_array___Array___init(); /*new Array[Object]*/ - variable7 = variable8; - variable8 = variable6 /*nodearraylist1*/; - variable9 = TAG_Bool(( variable8 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable8 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15584,6--32\n"); nit_exit(1);} - variable9 = variable3 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable9 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15586,6--36\n"); nit_exit(1);} - variable10 = variable2 /*nodearraylist5*/; - variable11 = TAG_Bool(( variable10 /*listnode4*/==NIT_NULL) || VAL_ISA( variable10 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15588,6--38\n"); nit_exit(1);} - variable11 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable10 /*listnode4*/ == NIT_NULL /*null*/) || (( variable10 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable10 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable10 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable11)) { /*if*/ - variable11 = ((array___AbstractArray___is_empty_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable7 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable11)) { /*if*/ - variable7 = variable10 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable7 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable7 /*listnode5*/, variable10 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2295 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); } - variable12 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable8 /*pexprnode2*/, variable9 /*tkwinitnode3*/, variable7 /*listnode5*/); /*new AInitExpr*/ - variable11 = variable12; - variable1 = variable11 /*pexprnode1*/ /*node_list=*/; - variable12 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable12, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction482___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction482::init (src/parser//parser.nit:15604,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction482].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction483___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction483::action (src/parser//parser.nit:15608,2--15633:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable6 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable5 = variable6; - variable6 = variable3 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable6 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15617,6--36\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*listnode4*/==NIT_NULL) || VAL_ISA( variable7 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15619,6--38\n"); nit_exit(1);} - variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7 /*listnode4*/ == NIT_NULL /*null*/) || (( variable7 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable7 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable7 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable8)) { /*if*/ - variable8 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable8)) { /*if*/ - variable4 = variable7 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable7 /*listnode4*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:2298 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:2299 */ + } else { + /* ./parser//parser.nit:2301 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); } - variable9 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable5 /*pexprnode2*/, variable6 /*tkwinitnode3*/, variable4 /*listnode5*/); /*new AInitExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction483___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction483::init (src/parser//parser.nit:15635,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction483].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction484___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction484::action (src/parser//parser.nit:15639,2--15672:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable8 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15651,6--34\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15653,6--32\n"); nit_exit(1);} - variable12 = variable3 /*nodearraylist6*/; - variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15655,6--28\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist7*/; - variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15657,6--38\n"); nit_exit(1);} - variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ == NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable14)) { /*if*/ - variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable14)) { /*if*/ - variable9 = variable13 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/, variable13 /*listnode5*/) /*Array::append*/; - } + fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]); + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:2308 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:2309 */ + } else { + /* ./parser//parser.nit:2311 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); } - variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/, variable11 /*ptypenode3*/, variable12 /*tidnode4*/, variable9 /*listnode6*/); /*new ANewExpr*/ - variable14 = variable15; - variable1 = variable14 /*pexprnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction484___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction484::init (src/parser//parser.nit:15674,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction484].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction485___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction485::action (src/parser//parser.nit:15678,2--15688:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15683,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction485___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction485::init (src/parser//parser.nit:15690,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction485].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction486___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction486::action (src/parser//parser.nit:15694,2--15704:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15699,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction486___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction486::init (src/parser//parser.nit:15706,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction486].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction487___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction487::action (src/parser//parser.nit:15710,2--15720:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15715,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction487___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction487::init (src/parser//parser.nit:15722,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction487].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction488___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction488::action (src/parser//parser.nit:15726,2--15736:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15731,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction488___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction488::init (src/parser//parser.nit:15738,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction488].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction489___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction489::action (src/parser//parser.nit:15742,2--15752:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15747,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction489___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction489::init (src/parser//parser.nit:15754,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction489].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction490___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction490::action (src/parser//parser.nit:15758,2--15768:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15763,6--34\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction490___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction490::init (src/parser//parser.nit:15770,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction490].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction491___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction491::action (src/parser//parser.nit:15774,2--15784:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15779,6--32\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction491___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction491::init (src/parser//parser.nit:15786,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction491].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction492___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction492::action (src/parser//parser.nit:15790,2--15800:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15795,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction492___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction492::init (src/parser//parser.nit:15802,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction492].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction493___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction493::action (src/parser//parser.nit:15806,2--15813:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15811,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(90)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction493___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction493::init (src/parser//parser.nit:15815,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction493].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction494___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction494::action (src/parser//parser.nit:15819,2--15831:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable4 /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15825,6--38\n"); nit_exit(1);} - variable6 = NEW_parser_prod___AType___init_atype( variable4 /*tclassidnode2*/, variable3 /*listnode3*/); /*new AType*/ - variable5 = variable6; - variable1 = variable5 /*ptypenode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(91)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction494___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction494::init (src/parser//parser.nit:15833,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction494].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction495___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction495::action (src/parser//parser.nit:15837,2--15844:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15842,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(92)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction495___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction495::init (src/parser//parser.nit:15846,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction495].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction496___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction496::action (src/parser//parser.nit:15850,2--15885:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - val_t variable16; - val_t variable17; - val_t variable18; - val_t variable19; - val_t variable20; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable9 = variable10; - variable11 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable10 = variable11; - variable12 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable11 = variable12; - variable13 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable12 = variable13; - variable13 = variable12 /*nodearraylist1*/; - variable14 = TAG_Bool(( variable13 /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable13 /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15865,6--32\n"); nit_exit(1);} - variable14 = variable10 /*nodearraylist3*/; - variable15 = TAG_Bool(( variable14 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable14 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable15)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15867,6--32\n"); nit_exit(1);} - variable15 = variable8 /*nodearraylist5*/; - variable16 = TAG_Bool(( variable15 /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable15 /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/; - if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15869,6--36\n"); nit_exit(1);} - variable16 = variable6 /*nodearraylist7*/; - variable17 = TAG_Bool(( variable16 /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable16 /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable17)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15871,6--32\n"); nit_exit(1);} - variable17 = variable4 /*nodearraylist9*/; - variable18 = TAG_Bool(( variable17 /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable17 /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/; - if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15873,6--36\n"); nit_exit(1);} - variable18 = variable2 /*nodearraylist11*/; - variable19 = TAG_Bool(( variable18 /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable18 /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15875,6--32\n"); nit_exit(1);} - variable20 = NEW_parser_prod___AIfexprExpr___init_aifexprexpr( variable13 /*tkwifnode2*/, variable14 /*pexprnode3*/, variable15 /*tkwthennode4*/, variable16 /*pexprnode5*/, variable17 /*tkwelsenode6*/, variable18 /*pexprnode7*/); /*new AIfexprExpr*/ - variable19 = variable20; - variable1 = variable19 /*pexprnode1*/ /*node_list=*/; - variable20 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(92)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable20, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction496___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction496::init (src/parser//parser.nit:15887,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction496].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction497___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction497::action (src/parser//parser.nit:15891,2--15898:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15896,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(93)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction497___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction497::init (src/parser//parser.nit:15900,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction497].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction498___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction498::action (src/parser//parser.nit:15904,2--15920:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15912,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15914,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AOrExpr___init_aorexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AOrExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(93)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction498___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction498::init (src/parser//parser.nit:15922,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction498].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction499___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction499::action (src/parser//parser.nit:15926,2--15942:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15934,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15936,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AAndExpr___init_aandexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AAndExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(93)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction499___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction499::init (src/parser//parser.nit:15944,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction499].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction500___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction500::action (src/parser//parser.nit:15948,2--15955:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15953,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(94)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction500___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction500::init (src/parser//parser.nit:15957,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction500].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction501___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction501::action (src/parser//parser.nit:15961,2--15976:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15968,6--34\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15970,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___ANotExpr___init_anotexpr( variable5 /*tkwnotnode2*/, variable6 /*pexprnode3*/); /*new ANotExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(94)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction501___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction501::init (src/parser//parser.nit:15978,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction501].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction502___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction502::action (src/parser//parser.nit:15982,2--15989:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:15987,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction502___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction502::init (src/parser//parser.nit:15991,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction502].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction503___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction503::action (src/parser//parser.nit:15995,2--16011:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16003,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16005,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AEqExpr___init_aeqexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEqExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction503___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction503::init (src/parser//parser.nit:16013,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction503].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction504___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction504::action (src/parser//parser.nit:16017,2--16033:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16025,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16027,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AEeExpr___init_aeeexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AEeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction504___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction504::init (src/parser//parser.nit:16035,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction504].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction505___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction505::action (src/parser//parser.nit:16039,2--16055:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16047,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16049,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ANeExpr___init_aneexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ANeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction505___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction505::init (src/parser//parser.nit:16057,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction505].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction506___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction506::action (src/parser//parser.nit:16061,2--16077:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16069,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16071,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ALtExpr___init_altexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALtExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction506___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction506::init (src/parser//parser.nit:16079,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction506].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction507___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction507::action (src/parser//parser.nit:16083,2--16099:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16091,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16093,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ALeExpr___init_aleexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ALeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction507___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction507::init (src/parser//parser.nit:16101,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction507].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction508___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction508::action (src/parser//parser.nit:16105,2--16121:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16113,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16115,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AGtExpr___init_agtexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGtExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction508___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction508::init (src/parser//parser.nit:16123,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction508].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction509___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction509::action (src/parser//parser.nit:16127,2--16143:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16135,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16137,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AGeExpr___init_ageexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AGeExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction509___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction509::init (src/parser//parser.nit:16145,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction509].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction510___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction510::action (src/parser//parser.nit:16149,2--16165:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16157,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16159,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AStarshipExpr___init_astarshipexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarshipExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction510___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction510::init (src/parser//parser.nit:16167,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction510].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction511___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction511::action (src/parser//parser.nit:16171,2--16187:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16179,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable7 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16181,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AIsaExpr___init_aisaexpr( variable6 /*pexprnode2*/, variable7 /*ptypenode3*/); /*new AIsaExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(95)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction511___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction511::init (src/parser//parser.nit:16189,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction511].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction512___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction512::action (src/parser//parser.nit:16193,2--16200:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16198,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(96)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction512___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction512::init (src/parser//parser.nit:16202,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction512].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction513___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction513::action (src/parser//parser.nit:16206,2--16222:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16214,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16216,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___APlusExpr___init_aplusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APlusExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(96)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction513___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction513::init (src/parser//parser.nit:16224,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction513].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction514___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction514::action (src/parser//parser.nit:16228,2--16244:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16236,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16238,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AMinusExpr___init_aminusexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AMinusExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(96)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction514___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction514::init (src/parser//parser.nit:16246,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction514].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction515___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction515::action (src/parser//parser.nit:16250,2--16257:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16255,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(97)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction515___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction515::init (src/parser//parser.nit:16259,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction515].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction516___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction516::action (src/parser//parser.nit:16263,2--16279:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16271,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16273,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___AStarExpr___init_astarexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new AStarExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(97)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction516___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction516::init (src/parser//parser.nit:16281,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction516].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction517___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction517::action (src/parser//parser.nit:16285,2--16301:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16293,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16295,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___ASlashExpr___init_aslashexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new ASlashExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(97)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction517___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction517::init (src/parser//parser.nit:16303,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction517].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction518___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction518::action (src/parser//parser.nit:16307,2--16323:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable6 = variable5 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16315,6--32\n"); nit_exit(1);} - variable7 = variable2 /*nodearraylist4*/; - variable8 = TAG_Bool(( variable7 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable7 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16317,6--32\n"); nit_exit(1);} - variable9 = NEW_parser_prod___APercentExpr___init_apercentexpr( variable6 /*pexprnode2*/, variable7 /*pexprnode3*/); /*new APercentExpr*/ - variable8 = variable9; - variable1 = variable8 /*pexprnode1*/ /*node_list=*/; - variable9 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(97)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable9, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction518___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction518::init (src/parser//parser.nit:16325,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction518].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction519___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction519::action (src/parser//parser.nit:16329,2--16336:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16334,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(98)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction519___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction519::init (src/parser//parser.nit:16338,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction519].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction520___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction520::action (src/parser//parser.nit:16342,2--16357:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable5 /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16349,6--34\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16351,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___AUminusExpr___init_auminusexpr( variable5 /*tminusnode2*/, variable6 /*pexprnode3*/); /*new AUminusExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(98)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction520___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction520::init (src/parser//parser.nit:16359,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction520].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction521___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction521::action (src/parser//parser.nit:16363,2--16378:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable5 /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16370,6--36\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist3*/; - variable7 = TAG_Bool(( variable6 /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16372,6--32\n"); nit_exit(1);} - variable8 = NEW_parser_prod___AOnceExpr___init_aonceexpr( variable5 /*tkwoncenode2*/, variable6 /*pexprnode3*/); /*new AOnceExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(98)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction521___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction521::init (src/parser//parser.nit:16380,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction521].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction522___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction522::action (src/parser//parser.nit:16384,2--16391:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16389,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(99)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction522___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction522::init (src/parser//parser.nit:16393,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction522].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction523___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction523::action (src/parser//parser.nit:16397,2--16425:34)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = NEW_array___Array___init(); /*new Array[Object]*/ - variable6 = variable7; - variable7 = variable5 /*nodearraylist1*/; - variable8 = TAG_Bool(( variable7 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable7 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16406,6--34\n"); nit_exit(1);} - variable8 = variable3 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable8 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16408,6--32\n"); nit_exit(1);} - variable9 = variable2 /*nodearraylist4*/; - variable10 = TAG_Bool(( variable9 /*listnode5*/==NIT_NULL) || VAL_ISA( variable9 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16410,6--38\n"); nit_exit(1);} - variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable9 /*listnode5*/ == NIT_NULL /*null*/) || (( variable9 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable9 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable9 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable10)) { /*if*/ - variable10 = ((array___AbstractArray___is_empty_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable6 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable10)) { /*if*/ - variable6 = variable9 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable6 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable6 /*listnode6*/, variable9 /*listnode5*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + /* ./parser//parser.nit:2314 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL); + REGB0 = REGB1; } } - variable11 = NEW_parser_prod___ANewExpr___init_anewexpr( variable7 /*tkwnewnode2*/, variable8 /*ptypenode3*/, NIT_NULL /*null*/, variable6 /*listnode6*/); /*new ANewExpr*/ - variable10 = variable11; - variable1 = variable10 /*pexprnode1*/ /*node_list=*/; - variable11 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(99)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable11, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction523___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction523::init (src/parser//parser.nit:16427,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction523].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction524___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction524::action (src/parser//parser.nit:16431,2--16445:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable4 = variable3 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16437,6--32\n"); nit_exit(1);} - variable5 = variable2 /*nodearraylist2*/; - variable6 = TAG_Bool(( variable5 /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable5 /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16439,6--36\n"); nit_exit(1);} - variable7 = NEW_parser_prod___AAttrExpr___init_aattrexpr( variable4 /*pexprnode2*/, variable5 /*tattridnode3*/); /*new AAttrExpr*/ - variable6 = variable7; - variable1 = variable6 /*pexprnode1*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction524___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction524::init (src/parser//parser.nit:16447,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction524].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction525___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction525::action (src/parser//parser.nit:16451,2--16477:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16459,6--32\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*tidnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16461,6--28\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16463,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable8 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2315 */ + array___Array___add(fra.me.REG[7], fra.me.REG[5]); } - variable10 = NEW_parser_prod___ACallExpr___init_acallexpr( variable6 /*pexprnode2*/, variable7 /*tidnode3*/, variable5 /*listnode5*/); /*new ACallExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction525___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction525::init (src/parser//parser.nit:16479,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction525].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction526___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction526::action (src/parser//parser.nit:16483,2--16506:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable5 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16490,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*listnode4*/==NIT_NULL) || VAL_ISA( variable6 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16492,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode4*/ == NIT_NULL /*null*/) || (( variable6 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode5*/, variable6 /*listnode4*/) /*Array::append*/; - } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2323 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction21___init(val_t p0, int* init_table){ + int itpos25 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction21].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos25]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2325; + fra.me.meth = LOCATE_parser___ReduceAction21___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2325 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos25] = 1; + return; +} +void parser___ReduceAction22___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2329; + fra.me.meth = LOCATE_parser___ReduceAction22___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:2340 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2340); + nit_exit(1); } - variable8 = NEW_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable5 /*tkwsupernode3*/, variable4 /*listnode5*/); /*new ASuperExpr*/ - variable7 = variable8; - variable1 = variable7 /*pexprnode1*/ /*node_list=*/; - variable8 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable8, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction526___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction526::init (src/parser//parser.nit:16508,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction526].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction527___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction527::action (src/parser//parser.nit:16512,2--16538:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable6 /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16520,6--42\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16522,6--38\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16524,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable8 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2342 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2342); + nit_exit(1); } - variable10 = NEW_parser_prod___ASuperExpr___init_asuperexpr( variable6 /*pqualifiednode2*/, variable7 /*tkwsupernode3*/, variable5 /*listnode5*/); /*new ASuperExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction527___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction527::init (src/parser//parser.nit:16540,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction527].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction528___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction528::action (src/parser//parser.nit:16544,2--16570:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = NEW_array___Array___init(); /*new Array[Object]*/ - variable5 = variable6; - variable6 = variable4 /*nodearraylist1*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16552,6--32\n"); nit_exit(1);} - variable7 = variable3 /*nodearraylist2*/; - variable8 = TAG_Bool(( variable7 /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable7 /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/; - if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16554,6--36\n"); nit_exit(1);} - variable8 = variable2 /*nodearraylist3*/; - variable9 = TAG_Bool(( variable8 /*listnode4*/==NIT_NULL) || VAL_ISA( variable8 /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16556,6--38\n"); nit_exit(1);} - variable9 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable8 /*listnode4*/ == NIT_NULL /*null*/) || (( variable8 /*listnode4*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable8 /*listnode4*/,COLOR_kernel___Object_____eqeq))( variable8 /*listnode4*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable9)) { /*if*/ - variable9 = ((array___AbstractArray___is_empty_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___Collection___is_empty))( variable5 /*listnode5*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable9)) { /*if*/ - variable5 = variable8 /*listnode4*/ /*listnode5=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable5 /*listnode5*/,COLOR_abstract_collection___IndexedCollection___append))( variable5 /*listnode5*/, variable8 /*listnode4*/) /*Array::append*/; - } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:2344 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:2345 */ + } else { + /* ./parser//parser.nit:2347 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); } - variable10 = NEW_parser_prod___AInitExpr___init_ainitexpr( variable6 /*pexprnode2*/, variable7 /*tkwinitnode3*/, variable5 /*listnode5*/); /*new AInitExpr*/ - variable9 = variable10; - variable1 = variable9 /*pexprnode1*/ /*node_list=*/; - variable10 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable10, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction528___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction528::init (src/parser//parser.nit:16572,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction528].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction529___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction529::action (src/parser//parser.nit:16576,2--16609:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - val_t variable8; - val_t variable9; - val_t variable10; - val_t variable11; - val_t variable12; - val_t variable13; - val_t variable14; - val_t variable15; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable6 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable5 = variable6; - variable7 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable6 = variable7; - variable8 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable7 = variable8; - variable9 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable8 = variable9; - variable10 = NEW_array___Array___init(); /*new Array[Object]*/ - variable9 = variable10; - variable10 = variable8 /*nodearraylist1*/; - variable11 = TAG_Bool(( variable10 /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable10 /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/; - if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16588,6--34\n"); nit_exit(1);} - variable11 = variable6 /*nodearraylist3*/; - variable12 = TAG_Bool(( variable11 /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable11 /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16590,6--32\n"); nit_exit(1);} - variable12 = variable3 /*nodearraylist6*/; - variable13 = TAG_Bool(( variable12 /*tidnode4*/==NIT_NULL) || VAL_ISA( variable12 /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16592,6--28\n"); nit_exit(1);} - variable13 = variable2 /*nodearraylist7*/; - variable14 = TAG_Bool(( variable13 /*listnode5*/==NIT_NULL) || VAL_ISA( variable13 /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16594,6--38\n"); nit_exit(1);} - variable14 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable13 /*listnode5*/ == NIT_NULL /*null*/) || (( variable13 /*listnode5*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable13 /*listnode5*/,COLOR_kernel___Object_____eqeq))( variable13 /*listnode5*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable14)) { /*if*/ - variable14 = ((array___AbstractArray___is_empty_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___Collection___is_empty))( variable9 /*listnode6*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable14)) { /*if*/ - variable9 = variable13 /*listnode5*/ /*listnode6=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable9 /*listnode6*/,COLOR_abstract_collection___IndexedCollection___append))( variable9 /*listnode6*/, variable13 /*listnode5*/) /*Array::append*/; - } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2351 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2351); + nit_exit(1); } - variable15 = NEW_parser_prod___ANewExpr___init_anewexpr( variable10 /*tkwnewnode2*/, variable11 /*ptypenode3*/, variable12 /*tidnode4*/, variable9 /*listnode6*/); /*new ANewExpr*/ - variable14 = variable15; - variable1 = variable14 /*pexprnode1*/ /*node_list=*/; - variable15 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable15, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction529___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction529::init (src/parser//parser.nit:16611,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction529].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction530___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction530::action (src/parser//parser.nit:16615,2--16625:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16620,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ASelfExpr___init_aselfexpr( variable3 /*tkwselfnode2*/); /*new ASelfExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction530___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction530::init (src/parser//parser.nit:16627,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction530].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction531___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction531::action (src/parser//parser.nit:16631,2--16641:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16636,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ATrueExpr___init_atrueexpr( variable3 /*tkwtruenode2*/); /*new ATrueExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction531___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction531::init (src/parser//parser.nit:16643,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction531].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction532___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction532::action (src/parser//parser.nit:16647,2--16657:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16652,6--38\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AFalseExpr___init_afalseexpr( variable3 /*tkwfalsenode2*/); /*new AFalseExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction532___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction532::init (src/parser//parser.nit:16659,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction532].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction533___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction533::action (src/parser//parser.nit:16663,2--16673:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16668,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ANullExpr___init_anullexpr( variable3 /*tkwnullnode2*/); /*new ANullExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction533___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction533::init (src/parser//parser.nit:16675,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction533].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction534___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction534::action (src/parser//parser.nit:16679,2--16689:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable3 /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16684,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AIntExpr___init_aintexpr( variable3 /*tnumbernode2*/); /*new AIntExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction534___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction534::init (src/parser//parser.nit:16691,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction534].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction535___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction535::action (src/parser//parser.nit:16695,2--16705:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16700,6--34\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AFloatExpr___init_afloatexpr( variable3 /*tfloatnode2*/); /*new AFloatExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction535___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction535::init (src/parser//parser.nit:16707,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction535].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction536___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction536::action (src/parser//parser.nit:16711,2--16721:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16716,6--32\n"); nit_exit(1);} - variable5 = NEW_parser_prod___ACharExpr___init_acharexpr( variable3 /*tcharnode2*/); /*new ACharExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction536___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction536::init (src/parser//parser.nit:16723,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction536].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction537___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction537::action (src/parser//parser.nit:16727,2--16737:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable3 /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16732,6--36\n"); nit_exit(1);} - variable5 = NEW_parser_prod___AStringExpr___init_astringexpr( variable3 /*tstringnode2*/); /*new AStringExpr*/ - variable4 = variable5; - variable1 = variable4 /*pexprnode1*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction537___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction537::init (src/parser//parser.nit:16739,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction537].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction538___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction538::action (src/parser//parser.nit:16743,2--16750:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable3 = variable2 /*nodearraylist1*/; - variable4 = TAG_Bool(( variable3 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable3 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16748,6--32\n"); nit_exit(1);} - variable1 = variable3 /*pexprnode1*/ /*node_list=*/; - variable4 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(100)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable4, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction538___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction538::init (src/parser//parser.nit:16752,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction538].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction539___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction539::action (src/parser//parser.nit:16756,2--16765:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable4 = variable5; - variable5 = variable4 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable5 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16763,6--32\n"); nit_exit(1);} - variable1 = variable5 /*pexprnode1*/ /*node_list=*/; - variable6 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(101)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable6, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction539___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction539::init (src/parser//parser.nit:16767,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction539].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction540___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction540::action (src/parser//parser.nit:16771,2--16777:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = NEW_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); /*new AImplicitSelfExpr*/ - variable2 = variable3; - variable1 = variable2 /*pexprnode1*/ /*node_list=*/; - variable3 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(101)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable3, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction540___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction540::init (src/parser//parser.nit:16779,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction540].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction541___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction541::action (src/parser//parser.nit:16783,2--16794:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*pimportnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pimportnode1*/, COLOR_PImport, ID_PImport)) /*cast PImport*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16789,6--36\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pimportnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pimportnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pimportnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pimportnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pimportnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pimportnode1*/, NIT_NULL /*null*/) /*PImport::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pimportnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(102)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction541___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction541::init (src/parser//parser.nit:16796,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction541].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction542___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction542::action (src/parser//parser.nit:16800,2--16821:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16807,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*pimportnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pimportnode2*/, COLOR_PImport, ID_PImport)) /*cast PImport*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16809,6--36\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; - } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2354 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2354); + nit_exit(1); } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pimportnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pimportnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pimportnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pimportnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pimportnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pimportnode2*/, NIT_NULL /*null*/) /*PImport::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pimportnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(102)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction542___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction542::init (src/parser//parser.nit:16823,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction542].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction543___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction543::action (src/parser//parser.nit:16827,2--16838:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*pclassdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pclassdefnode1*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16833,6--40\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pclassdefnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pclassdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pclassdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pclassdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pclassdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pclassdefnode1*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pclassdefnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(103)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction543___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction543::init (src/parser//parser.nit:16840,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction543].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction544___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction544::action (src/parser//parser.nit:16844,2--16865:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16851,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*pclassdefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pclassdefnode2*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16853,6--40\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2355 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pclassdefnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pclassdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pclassdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pclassdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pclassdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pclassdefnode2*/, NIT_NULL /*null*/) /*PClassdef::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pclassdefnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(103)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction544___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction544::init (src/parser//parser.nit:16867,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction544].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction545___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction545::action (src/parser//parser.nit:16871,2--16882:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*psuperclassnode1*/==NIT_NULL) || VAL_ISA( variable4 /*psuperclassnode1*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16877,6--44\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*psuperclassnode1*/ == NIT_NULL /*null*/) || (( variable4 /*psuperclassnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*psuperclassnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*psuperclassnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*psuperclassnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*psuperclassnode1*/, NIT_NULL /*null*/) /*PSuperclass::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*psuperclassnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(104)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction545___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction545::init (src/parser//parser.nit:16884,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction545].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction546___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction546::action (src/parser//parser.nit:16888,2--16909:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16895,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*psuperclassnode2*/==NIT_NULL) || VAL_ISA( variable6 /*psuperclassnode2*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16897,6--44\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; - } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2356 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*psuperclassnode2*/ == NIT_NULL /*null*/) || (( variable6 /*psuperclassnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*psuperclassnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*psuperclassnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*psuperclassnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*psuperclassnode2*/, NIT_NULL /*null*/) /*PSuperclass::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*psuperclassnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(104)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction546___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction546::init (src/parser//parser.nit:16911,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction546].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction547___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction547::action (src/parser//parser.nit:16915,2--16926:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16921,6--42\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pformaldefnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pformaldefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pformaldefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pformaldefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pformaldefnode1*/, NIT_NULL /*null*/) /*PFormaldef::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pformaldefnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(105)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction547___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction547::init (src/parser//parser.nit:16928,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction547].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction548___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction548::action (src/parser//parser.nit:16932,2--16953:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16939,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*pformaldefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pformaldefnode2*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16941,6--42\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; - } + fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]); + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:2362 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[3]; + /* ./parser//parser.nit:2363 */ + } else { + /* ./parser//parser.nit:2365 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]); } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pformaldefnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pformaldefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pformaldefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pformaldefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pformaldefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pformaldefnode2*/, NIT_NULL /*null*/) /*PFormaldef::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pformaldefnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(105)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction548___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction548::init (src/parser//parser.nit:16955,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction548].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction549___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction549::action (src/parser//parser.nit:16959,2--16970:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16965,6--38\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode1*/ == NIT_NULL /*null*/) || (( variable4 /*ppropdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*ppropdefnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(106)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction549___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction549::init (src/parser//parser.nit:16972,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction549].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction550___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction550::action (src/parser//parser.nit:16976,2--16997:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16983,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:16985,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:2368 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable6 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*ppropdefnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(106)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction550___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction550::init (src/parser//parser.nit:16999,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction550].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction551___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction551::action (src/parser//parser.nit:17003,2--17014:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable4 /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17009,6--38\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ppropdefnode1*/ == NIT_NULL /*null*/) || (( variable4 /*ppropdefnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ppropdefnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ppropdefnode1*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*ppropdefnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(107)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction551___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction551::init (src/parser//parser.nit:17016,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction551].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction552___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction552::action (src/parser//parser.nit:17020,2--17041:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17027,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable6 /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17029,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2369 */ + array___Array___add(fra.me.REG[7], fra.me.REG[4]); + } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2377 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction22___init(val_t p0, int* init_table){ + int itpos26 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction22].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos26]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2379; + fra.me.meth = LOCATE_parser___ReduceAction22___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2379 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos26] = 1; + return; +} +void parser___ReduceAction23___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2383; + fra.me.meth = LOCATE_parser___ReduceAction23___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:2395 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2395); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2397 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2397); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:2399 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[5]; + /* ./parser//parser.nit:2400 */ + } else { + /* ./parser//parser.nit:2402 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2406 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2406); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2409 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2409); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2411 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2411); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:2412 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2413 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:2416 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:2417 */ + } else { + /* ./parser//parser.nit:2419 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]); + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:2426 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[4]; + /* ./parser//parser.nit:2427 */ + } else { + /* ./parser//parser.nit:2429 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]); + } + REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + /* ./parser//parser.nit:2432 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2433 */ + array___Array___add(fra.me.REG[8], fra.me.REG[5]); + } + fra.me.REG[8] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2441 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction23___init(val_t p0, int* init_table){ + int itpos27 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction23].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos27]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2443; + fra.me.meth = LOCATE_parser___ReduceAction23___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2443 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos27] = 1; + return; +} +void parser___ReduceAction24___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2447; + fra.me.meth = LOCATE_parser___ReduceAction24___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2454 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2454); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2455 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2456 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2464 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction24___init(val_t p0, int* init_table){ + int itpos28 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction24].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos28]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2466; + fra.me.meth = LOCATE_parser___ReduceAction24___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2466 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos28] = 1; + return; +} +void parser___ReduceAction25___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2470; + fra.me.meth = LOCATE_parser___ReduceAction25___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:2478 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2478); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2480 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2480); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2481 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2482 */ + array___Array___add(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2490 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction25___init(val_t p0, int* init_table){ + int itpos29 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction25].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos29]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2492; + fra.me.meth = LOCATE_parser___ReduceAction25___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2492 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos29] = 1; + return; +} +void parser___ReduceAction26___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2496; + fra.me.meth = LOCATE_parser___ReduceAction26___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2504 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2504); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:2506 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:2507 */ + } else { + /* ./parser//parser.nit:2509 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2513 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2513); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2514 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2515 */ + array___Array___add(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2523 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction26___init(val_t p0, int* init_table){ + int itpos30 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction26].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos30]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2525; + fra.me.meth = LOCATE_parser___ReduceAction26___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2525 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos30] = 1; + return; +} +void parser___ReduceAction27___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2529; + fra.me.meth = LOCATE_parser___ReduceAction27___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:2538 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2538); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2540 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2540); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:2542 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:2543 */ + } else { + /* ./parser//parser.nit:2545 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2549 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2549); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2550 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2551 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2559 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction27___init(val_t p0, int* init_table){ + int itpos31 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction27].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos31]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2561; + fra.me.meth = LOCATE_parser___ReduceAction27___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2561 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos31] = 1; + return; +} +void parser___ReduceAction28___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2565; + fra.me.meth = LOCATE_parser___ReduceAction28___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2573 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2573); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2575 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2575); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:2577 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:2578 */ + } else { + /* ./parser//parser.nit:2580 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2583 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2584 */ + array___Array___add(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2592 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction28___init(val_t p0, int* init_table){ + int itpos32 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction28].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos32]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2594; + fra.me.meth = LOCATE_parser___ReduceAction28___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2594 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos32] = 1; + return; +} +void parser___ReduceAction29___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2598; + fra.me.meth = LOCATE_parser___ReduceAction29___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:2607 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2607); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2609 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2609); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2611 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2611); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:2613 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:2614 */ + } else { + /* ./parser//parser.nit:2616 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2619 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2620 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2628 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction29___init(val_t p0, int* init_table){ + int itpos33 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction29].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos33]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2630; + fra.me.meth = LOCATE_parser___ReduceAction29___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2630 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos33] = 1; + return; +} +void parser___ReduceAction30___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2634; + fra.me.meth = LOCATE_parser___ReduceAction30___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2643 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2643); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:2645 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[4]; + /* ./parser//parser.nit:2646 */ + } else { + /* ./parser//parser.nit:2648 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2652 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2652); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2654 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2654); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:2656 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:2657 */ + } else { + /* ./parser//parser.nit:2659 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2662 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2663 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2671 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction30___init(val_t p0, int* init_table){ + int itpos34 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction30].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos34]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2673; + fra.me.meth = LOCATE_parser___ReduceAction30___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2673 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos34] = 1; + return; +} +void parser___ReduceAction31___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2677; + fra.me.meth = LOCATE_parser___ReduceAction31___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:2687 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2687); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2689 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2689); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:2691 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:2692 */ + } else { + /* ./parser//parser.nit:2694 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2698 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2698); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2700 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2700); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:2702 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[3]; + /* ./parser//parser.nit:2703 */ + } else { + /* ./parser//parser.nit:2705 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2708 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2709 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2717 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction31___init(val_t p0, int* init_table){ + int itpos35 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction31].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos35]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2719; + fra.me.meth = LOCATE_parser___ReduceAction31___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2719 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos35] = 1; + return; +} +void parser___ReduceAction32___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2723; + fra.me.meth = LOCATE_parser___ReduceAction32___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2733 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2733); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:2734 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2735 */ + array___Array___add(fra.me.REG[6], fra.me.REG[3]); + } + fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2741 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2741); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + /* ./parser//parser.nit:2742 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2743 */ + array___Array___add(fra.me.REG[5], fra.me.REG[6]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2745 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2746 */ + array___Array___add(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2754 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction32___init(val_t p0, int* init_table){ + int itpos36 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction32].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos36]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2756; + fra.me.meth = LOCATE_parser___ReduceAction32___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2756 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos36] = 1; + return; +} +void parser___ReduceAction33___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2760; + fra.me.meth = LOCATE_parser___ReduceAction33___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2771 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2771); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2773 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2773); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:2774 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2775 */ + array___Array___add(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:2778 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[3]; + /* ./parser//parser.nit:2779 */ + } else { + /* ./parser//parser.nit:2781 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]); + } + fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2788 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2788); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + /* ./parser//parser.nit:2789 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2790 */ + array___Array___add(fra.me.REG[6], fra.me.REG[7]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2792 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2793 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2801 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction33___init(val_t p0, int* init_table){ + int itpos37 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction33].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos37]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2803; + fra.me.meth = LOCATE_parser___ReduceAction33___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2803 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos37] = 1; + return; +} +void parser___ReduceAction34___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2807; + fra.me.meth = LOCATE_parser___ReduceAction34___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:2817 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2817); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2820 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2820); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:2821 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2822 */ + array___Array___add(fra.me.REG[7], fra.me.REG[3]); + } + fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2828 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2828); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + /* ./parser//parser.nit:2829 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2830 */ + array___Array___add(fra.me.REG[6], fra.me.REG[7]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2832 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2833 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2841 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction34___init(val_t p0, int* init_table){ + int itpos38 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction34].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos38]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2843; + fra.me.meth = LOCATE_parser___ReduceAction34___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2843 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos38] = 1; + return; +} +void parser___ReduceAction35___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2847; + fra.me.meth = LOCATE_parser___ReduceAction35___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:2858 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2858); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2861 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2861); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2863 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2863); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:2864 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2865 */ + array___Array___add(fra.me.REG[8], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:2868 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[3]; + /* ./parser//parser.nit:2869 */ + } else { + /* ./parser//parser.nit:2871 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]); + } + fra.me.REG[8] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2878 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2878); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL); + /* ./parser//parser.nit:2879 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2880 */ + array___Array___add(fra.me.REG[7], fra.me.REG[8]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2882 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2883 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2891 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction35___init(val_t p0, int* init_table){ + int itpos39 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction35].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos39]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2893; + fra.me.meth = LOCATE_parser___ReduceAction35___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2893 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos39] = 1; + return; +} +void parser___ReduceAction36___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2897; + fra.me.meth = LOCATE_parser___ReduceAction36___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2907 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2907); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:2909 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[4]; + /* ./parser//parser.nit:2910 */ + } else { + /* ./parser//parser.nit:2912 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2917 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2917); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:2918 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2919 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2925 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2925); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:2926 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2927 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2929 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2930 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2938 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction36___init(val_t p0, int* init_table){ + int itpos40 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction36].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos40]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2940; + fra.me.meth = LOCATE_parser___ReduceAction36___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2940 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos40] = 1; + return; +} +void parser___ReduceAction37___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2944; + fra.me.meth = LOCATE_parser___ReduceAction37___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2955 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2955); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:2957 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[5]; + /* ./parser//parser.nit:2958 */ + } else { + /* ./parser//parser.nit:2960 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:2965 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2965); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:2967 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2967); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:2968 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2969 */ + array___Array___add(fra.me.REG[5], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:2972 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:2973 */ + } else { + /* ./parser//parser.nit:2975 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:2982 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 2982); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + /* ./parser//parser.nit:2983 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2984 */ + array___Array___add(fra.me.REG[7], fra.me.REG[5]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:2986 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:2987 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:2995 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction37___init(val_t p0, int* init_table){ + int itpos41 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction37].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos41]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 2997; + fra.me.meth = LOCATE_parser___ReduceAction37___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:2997 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos41] = 1; + return; +} +void parser___ReduceAction38___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3001; + fra.me.meth = LOCATE_parser___ReduceAction38___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:3012 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3012); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3014 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3014); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:3016 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:3017 */ + } else { + /* ./parser//parser.nit:3019 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3024 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3024); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:3025 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3026 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + fra.me.REG[4] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:3032 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3032); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:3033 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3034 */ + array___Array___add(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3036 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3037 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3045 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction38___init(val_t p0, int* init_table){ + int itpos42 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction38].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos42]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3047; + fra.me.meth = LOCATE_parser___ReduceAction38___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3047 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos42] = 1; + return; +} +void parser___ReduceAction39___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3051; + fra.me.meth = LOCATE_parser___ReduceAction39___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:3063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3063); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3065 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3065); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:3067 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[5]; + /* ./parser//parser.nit:3068 */ + } else { + /* ./parser//parser.nit:3070 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3075 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3075); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3077 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3077); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:3078 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3079 */ + array___Array___add(fra.me.REG[5], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:3082 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:3083 */ + } else { + /* ./parser//parser.nit:3085 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:3092 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3092); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + /* ./parser//parser.nit:3093 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3094 */ + array___Array___add(fra.me.REG[8], fra.me.REG[5]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3096 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3097 */ + array___Array___add(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[8] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3105 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction39___init(val_t p0, int* init_table){ + int itpos43 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction39].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos43]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3107; + fra.me.meth = LOCATE_parser___ReduceAction39___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3107 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos43] = 1; + return; +} +void parser___ReduceAction40___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3111; + fra.me.meth = LOCATE_parser___ReduceAction40___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3121 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3121); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3124 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3124); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:3125 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3126 */ + array___Array___add(fra.me.REG[7], fra.me.REG[3]); + } + fra.me.REG[7] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:3132 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3132); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:3134 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:3135 */ + } else { + /* ./parser//parser.nit:3137 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + /* ./parser//parser.nit:3140 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3141 */ + array___Array___add(fra.me.REG[6], fra.me.REG[7]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3143 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3144 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3152 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction40___init(val_t p0, int* init_table){ + int itpos44 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction40].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos44]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3154; + fra.me.meth = LOCATE_parser___ReduceAction40___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3154 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos44] = 1; + return; +} +void parser___ReduceAction41___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3158; + fra.me.meth = LOCATE_parser___ReduceAction41___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3169 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3169); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3172 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3172); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3174 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3174); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:3175 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3176 */ + array___Array___add(fra.me.REG[8], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:3179 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[3]; + /* ./parser//parser.nit:3180 */ + } else { + /* ./parser//parser.nit:3182 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]); + } + fra.me.REG[8] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:3189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3189); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:3191 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[5]; + /* ./parser//parser.nit:3192 */ + } else { + /* ./parser//parser.nit:3194 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]); + } + REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL); + /* ./parser//parser.nit:3197 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3198 */ + array___Array___add(fra.me.REG[7], fra.me.REG[8]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3200 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3201 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3209 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction41___init(val_t p0, int* init_table){ + int itpos45 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction41].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos45]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3211; + fra.me.meth = LOCATE_parser___ReduceAction41___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3211 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos45] = 1; + return; +} +void parser___ReduceAction42___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3215; + fra.me.meth = LOCATE_parser___ReduceAction42___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:3226 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3226); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3228 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3228); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3231 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3231); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:3232 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3233 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); + } + fra.me.REG[8] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:3239 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3239); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:3241 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:3242 */ + } else { + /* ./parser//parser.nit:3244 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL); + /* ./parser//parser.nit:3247 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3248 */ + array___Array___add(fra.me.REG[7], fra.me.REG[8]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3250 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3251 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3259 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction42___init(val_t p0, int* init_table){ + int itpos46 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction42].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos46]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3261; + fra.me.meth = LOCATE_parser___ReduceAction42___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3261 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos46] = 1; + return; +} +void parser___ReduceAction43___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3265; + fra.me.meth = LOCATE_parser___ReduceAction43___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:3277 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3277); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3279 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3279); + nit_exit(1); + } + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3282 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3282); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3284 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3284); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:3285 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3286 */ + array___Array___add(fra.me.REG[9], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:3289 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[3]; + /* ./parser//parser.nit:3290 */ + } else { + /* ./parser//parser.nit:3292 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]); + } + fra.me.REG[9] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:3299 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3299); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:3301 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[5]; + /* ./parser//parser.nit:3302 */ + } else { + /* ./parser//parser.nit:3304 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]); + } + REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL); + /* ./parser//parser.nit:3307 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3308 */ + array___Array___add(fra.me.REG[8], fra.me.REG[9]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3310 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3311 */ + array___Array___add(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[8] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3319 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction43___init(val_t p0, int* init_table){ + int itpos47 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction43].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos47]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3321; + fra.me.meth = LOCATE_parser___ReduceAction43___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3321 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos47] = 1; + return; +} +void parser___ReduceAction44___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3325; + fra.me.meth = LOCATE_parser___ReduceAction44___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3336 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3336); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:3338 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[5]; + /* ./parser//parser.nit:3339 */ + } else { + /* ./parser//parser.nit:3341 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3345 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3345); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3348 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3348); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:3349 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3350 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:3356 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3356); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:3358 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:3359 */ + } else { + /* ./parser//parser.nit:3361 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + /* ./parser//parser.nit:3364 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3365 */ + array___Array___add(fra.me.REG[7], fra.me.REG[5]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3367 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3368 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3376 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction44___init(val_t p0, int* init_table){ + int itpos48 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction44].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos48]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3378; + fra.me.meth = LOCATE_parser___ReduceAction44___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3378 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos48] = 1; + return; +} +void parser___ReduceAction45___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3382; + fra.me.meth = LOCATE_parser___ReduceAction45___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3394 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3394); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:3396 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[6]; + /* ./parser//parser.nit:3397 */ + } else { + /* ./parser//parser.nit:3399 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3403 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3403); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3406 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3406); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3408 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3408); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:3409 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3410 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:3413 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:3414 */ + } else { + /* ./parser//parser.nit:3416 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:3423 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3423); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:3425 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[5]; + /* ./parser//parser.nit:3426 */ + } else { + /* ./parser//parser.nit:3428 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]); + } + REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + /* ./parser//parser.nit:3431 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3432 */ + array___Array___add(fra.me.REG[8], fra.me.REG[6]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3434 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3435 */ + array___Array___add(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[8] = NEW_AModule_parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8]); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3443 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction45___init(val_t p0, int* init_table){ + int itpos49 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction45].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos49]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3445; + fra.me.meth = LOCATE_parser___ReduceAction45___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3445 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos49] = 1; + return; +} +void parser___ReduceAction46___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3449; + fra.me.meth = LOCATE_parser___ReduceAction46___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:3461 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3461); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3463 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3463); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:3465 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[5]; + /* ./parser//parser.nit:3466 */ + } else { + /* ./parser//parser.nit:3468 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3472 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3472); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3475); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:3476 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3477 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + fra.me.REG[5] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:3483 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3483); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:3485 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[4]; + /* ./parser//parser.nit:3486 */ + } else { + /* ./parser//parser.nit:3488 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]); + } + REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + /* ./parser//parser.nit:3491 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3492 */ + array___Array___add(fra.me.REG[8], fra.me.REG[5]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3494 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3495 */ + array___Array___add(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[8] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3503 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction46___init(val_t p0, int* init_table){ + int itpos50 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction46].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos50]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3505; + fra.me.meth = LOCATE_parser___ReduceAction46___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3505 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos50] = 1; + return; +} +void parser___ReduceAction47___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3509; + fra.me.meth = LOCATE_parser___ReduceAction47___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_APackagedecl, ID_APackagedecl)) /*cast nullable APackagedecl*/; + /* ./parser//parser.nit:3522 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3522); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3524 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3524); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:3526 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[6]; + /* ./parser//parser.nit:3527 */ + } else { + /* ./parser//parser.nit:3529 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[6]); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3533 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3533); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3536 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3536); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3538 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3538); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:3539 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3540 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:3543 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:3544 */ + } else { + /* ./parser//parser.nit:3546 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + fra.me.REG[6] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:3553 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3553); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:3555 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[5]; + /* ./parser//parser.nit:3556 */ + } else { + /* ./parser//parser.nit:3558 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]); + } + REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + /* ./parser//parser.nit:3561 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3562 */ + array___Array___add(fra.me.REG[9], fra.me.REG[6]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3564 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3565 */ + array___Array___add(fra.me.REG[9], fra.me.REG[2]); + } + fra.me.REG[9] = NEW_AModule_parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]); + fra.me.REG[0] = fra.me.REG[9]; + REGB0 = TAG_Int(0); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3573 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction47___init(val_t p0, int* init_table){ + int itpos51 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction47].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos51]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3575; + fra.me.meth = LOCATE_parser___ReduceAction47___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3575 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos51] = 1; + return; +} +void parser___ReduceAction48___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3579; + fra.me.meth = LOCATE_parser___ReduceAction48___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:3588 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3588); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwpackage, ID_TKwpackage)) /*cast nullable TKwpackage*/; + /* ./parser//parser.nit:3590 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3590); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:3592 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3592); + nit_exit(1); + } + fra.me.REG[2] = NEW_APackagedecl_parser_prod___APackagedecl___init_apackagedecl(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(1); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3599 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction48___init(val_t p0, int* init_table){ + int itpos52 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction48].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos52]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3601; + fra.me.meth = LOCATE_parser___ReduceAction48___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3601 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos52] = 1; + return; +} +void parser___ReduceAction49___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3605; + fra.me.meth = LOCATE_parser___ReduceAction49___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:3615 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3615); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwimport, ID_TKwimport)) /*cast nullable TKwimport*/; + /* ./parser//parser.nit:3617 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3617); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:3619 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3619); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStdImport_parser_prod___AStdImport___init_astdimport(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(2); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3626 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction49___init(val_t p0, int* init_table){ + int itpos53 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction49].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos53]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3628; + fra.me.meth = LOCATE_parser___ReduceAction49___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3628 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos53] = 1; + return; +} +void parser___ReduceAction50___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3632; + fra.me.meth = LOCATE_parser___ReduceAction50___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:3642 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3642); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwimport, ID_TKwimport)) /*cast nullable TKwimport*/; + /* ./parser//parser.nit:3644 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3644); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwend, ID_TKwend)) /*cast nullable TKwend*/; + /* ./parser//parser.nit:3646 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3646); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANoImport_parser_prod___ANoImport___init_anoimport(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(2); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3653 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction50___init(val_t p0, int* init_table){ + int itpos54 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction50].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos54]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3655; + fra.me.meth = LOCATE_parser___ReduceAction50___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3655 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos54] = 1; + return; +} +void parser___ReduceAction51___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3659; + fra.me.meth = LOCATE_parser___ReduceAction51___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:3665 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3665); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3666 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3667 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[3] = NEW_AMainClassdef_parser_prod___AMainClassdef___init_amainclassdef(fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(3); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3673 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction51___init(val_t p0, int* init_table){ + int itpos55 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction51].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos55]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3675; + fra.me.meth = LOCATE_parser___ReduceAction51___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3675 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos55] = 1; + return; +} +void parser___ReduceAction52___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3679; + fra.me.meth = LOCATE_parser___ReduceAction52___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[0] = NIT_NULL; + REGB0 = TAG_Int(3); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3684 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction52___init(val_t p0, int* init_table){ + int itpos56 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction52].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos56]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3686; + fra.me.meth = LOCATE_parser___ReduceAction52___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3686 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos56] = 1; + return; +} +void parser___ReduceAction53___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3690; + fra.me.meth = LOCATE_parser___ReduceAction53___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:3698 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3698); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:3699 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3700 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef(NIT_NULL, fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(4); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3710 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction53___init(val_t p0, int* init_table){ + int itpos57 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction53].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos57]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3712; + fra.me.meth = LOCATE_parser___ReduceAction53___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3712 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos57] = 1; + return; +} +void parser___ReduceAction54___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3716; + fra.me.meth = LOCATE_parser___ReduceAction54___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:3725 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3725); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3727 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3727); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:3728 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:3729 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:3732 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:3733 */ + } else { + /* ./parser//parser.nit:3735 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + fra.me.REG[4] = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef(NIT_NULL, fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(4); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3746 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction54___init(val_t p0, int* init_table){ + int itpos58 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction54].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos58]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3748; + fra.me.meth = LOCATE_parser___ReduceAction54___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3748 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos58] = 1; + return; +} +void parser___ReduceAction55___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3752; + fra.me.meth = LOCATE_parser___ReduceAction55___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:3766 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3766); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:3768 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3768); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:3770 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3770); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:3772 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3772); + nit_exit(1); + } + fra.me.REG[8] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3784 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction55___init(val_t p0, int* init_table){ + int itpos59 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction55].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos59]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3786; + fra.me.meth = LOCATE_parser___ReduceAction55___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3786 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos59] = 1; + return; +} +void parser___ReduceAction56___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3790; + fra.me.meth = LOCATE_parser___ReduceAction56___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:3805 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3805); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:3807 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3807); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:3809 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3809); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:3811 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3811); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:3813 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3813); + nit_exit(1); + } + fra.me.REG[9] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]); + fra.me.REG[0] = fra.me.REG[9]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3825 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction56___init(val_t p0, int* init_table){ + int itpos60 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction56].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos60]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3827; + fra.me.meth = LOCATE_parser___ReduceAction56___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3827 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos60] = 1; + return; +} +void parser___ReduceAction57___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3831; + fra.me.meth = LOCATE_parser___ReduceAction57___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:3846 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3846); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:3848 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3848); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:3850 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3850); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:3852 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3852); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3854 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3854); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:3856 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:3857 */ + } else { + /* ./parser//parser.nit:3859 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[9] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]); + fra.me.REG[0] = fra.me.REG[9]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3873 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction57___init(val_t p0, int* init_table){ + int itpos61 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction57].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos61]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3875; + fra.me.meth = LOCATE_parser___ReduceAction57___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3875 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos61] = 1; + return; +} +void parser___ReduceAction58___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3879; + fra.me.meth = LOCATE_parser___ReduceAction58___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:3895 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3895); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:3897 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3897); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:3899 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3899); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:3901 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3901); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:3903 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3903); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3905 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3905); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:3907 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[2]; + /* ./parser//parser.nit:3908 */ + } else { + /* ./parser//parser.nit:3910 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]); + fra.me.REG[0] = fra.me.REG[10]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3924 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction58___init(val_t p0, int* init_table){ + int itpos62 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction58].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos62]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3926; + fra.me.meth = LOCATE_parser___ReduceAction58___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3926 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos62] = 1; + return; +} +void parser___ReduceAction59___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3930; + fra.me.meth = LOCATE_parser___ReduceAction59___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:3945 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3945); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:3947 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3947); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:3949 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3949); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:3951 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3951); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:3953 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3953); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:3955 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[2]; + /* ./parser//parser.nit:3956 */ + } else { + /* ./parser//parser.nit:3958 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[9] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]); + fra.me.REG[0] = fra.me.REG[9]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:3972 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction59___init(val_t p0, int* init_table){ + int itpos63 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction59].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos63]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3974; + fra.me.meth = LOCATE_parser___ReduceAction59___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:3974 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos63] = 1; + return; +} +void parser___ReduceAction60___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 3978; + fra.me.meth = LOCATE_parser___ReduceAction60___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:3994 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3994); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:3996 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3996); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:3998 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 3998); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4000 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4000); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4002 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4002); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4004 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4004); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:4006 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[2]; + /* ./parser//parser.nit:4007 */ + } else { + /* ./parser//parser.nit:4009 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[2]); + } + fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]); + fra.me.REG[0] = fra.me.REG[10]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4023 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction60___init(val_t p0, int* init_table){ + int itpos64 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction60].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos64]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4025; + fra.me.meth = LOCATE_parser___ReduceAction60___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4025 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos64] = 1; + return; +} +void parser___ReduceAction61___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4029; + fra.me.meth = LOCATE_parser___ReduceAction61___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4045 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4045); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4047 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4047); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4049 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4049); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4051 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4051); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4053 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4053); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:4055 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[3]; + /* ./parser//parser.nit:4056 */ + } else { + /* ./parser//parser.nit:4058 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4062 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4062); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:4064 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[2]; + /* ./parser//parser.nit:4065 */ + } else { + /* ./parser//parser.nit:4067 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[2]); + } + fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]); + fra.me.REG[0] = fra.me.REG[10]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4081 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction61___init(val_t p0, int* init_table){ + int itpos65 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction61].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos65]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4083; + fra.me.meth = LOCATE_parser___ReduceAction61___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4083 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos65] = 1; + return; +} +void parser___ReduceAction62___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4087; + fra.me.meth = LOCATE_parser___ReduceAction62___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4104 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4104); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:4106 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4106); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4108 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4108); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4110 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4110); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4112 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4112); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4114 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4114); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:4116 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[3]; + /* ./parser//parser.nit:4117 */ + } else { + /* ./parser//parser.nit:4119 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4123 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4123); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]); + /* ./parser//parser.nit:4125 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[10] = fra.me.REG[2]; + /* ./parser//parser.nit:4126 */ + } else { + /* ./parser//parser.nit:4128 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[2]); + } + fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]); + fra.me.REG[0] = fra.me.REG[11]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4142 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction62___init(val_t p0, int* init_table){ + int itpos66 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction62].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos66]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4144; + fra.me.meth = LOCATE_parser___ReduceAction62___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4144 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos66] = 1; + return; +} +void parser___ReduceAction63___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4148; + fra.me.meth = LOCATE_parser___ReduceAction63___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4164 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4164); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4166 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4166); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4168 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4168); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4170 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4170); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4172 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4172); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:4173 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4174 */ + array___Array___add(fra.me.REG[9], fra.me.REG[2]); + } + fra.me.REG[9] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]); + fra.me.REG[0] = fra.me.REG[9]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4187 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction63___init(val_t p0, int* init_table){ + int itpos67 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction63].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos67]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4189; + fra.me.meth = LOCATE_parser___ReduceAction63___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4189 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos67] = 1; + return; +} +void parser___ReduceAction64___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4193; + fra.me.meth = LOCATE_parser___ReduceAction64___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4210 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4210); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4212 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4212); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4214 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4214); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4216 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4216); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4218 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4218); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4220 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4220); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:4221 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4222 */ + array___Array___add(fra.me.REG[10], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]); + /* ./parser//parser.nit:4225 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[10] = fra.me.REG[2]; + /* ./parser//parser.nit:4226 */ + } else { + /* ./parser//parser.nit:4228 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[2]); + } + fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]); + fra.me.REG[0] = fra.me.REG[10]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4242 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction64___init(val_t p0, int* init_table){ + int itpos68 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction64].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos68]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4244; + fra.me.meth = LOCATE_parser___ReduceAction64___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4244 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos68] = 1; + return; +} +void parser___ReduceAction65___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4248; + fra.me.meth = LOCATE_parser___ReduceAction65___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4265 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4265); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:4267 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4267); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4269 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4269); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4271 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4271); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4273 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4273); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4275 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4275); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:4276 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4277 */ + array___Array___add(fra.me.REG[10], fra.me.REG[2]); + } + fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]); + fra.me.REG[0] = fra.me.REG[10]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4290 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction65___init(val_t p0, int* init_table){ + int itpos69 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction65].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos69]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4292; + fra.me.meth = LOCATE_parser___ReduceAction65___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4292 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos69] = 1; + return; +} +void parser___ReduceAction66___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4296; + fra.me.meth = LOCATE_parser___ReduceAction66___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4314 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4314); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:4316 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4316); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4318); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4320); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4322 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4322); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4324 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4324); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4326 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4326); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:4327 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4328 */ + array___Array___add(fra.me.REG[11], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]); + /* ./parser//parser.nit:4331 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[11] = fra.me.REG[2]; + /* ./parser//parser.nit:4332 */ + } else { + /* ./parser//parser.nit:4334 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[2]); + } + fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]); + fra.me.REG[0] = fra.me.REG[11]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4348 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction66___init(val_t p0, int* init_table){ + int itpos70 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction66].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos70]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4350; + fra.me.meth = LOCATE_parser___ReduceAction66___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4350 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos70] = 1; + return; +} +void parser___ReduceAction67___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4354; + fra.me.meth = LOCATE_parser___ReduceAction67___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4371 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4371); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4373 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4373); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4375 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4375); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4377 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4377); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4379 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4379); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:4381 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[3]; + /* ./parser//parser.nit:4382 */ + } else { + /* ./parser//parser.nit:4384 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4388 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4388); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:4389 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4390 */ + array___Array___add(fra.me.REG[10], fra.me.REG[2]); + } + fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]); + fra.me.REG[0] = fra.me.REG[10]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4403 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction67___init(val_t p0, int* init_table){ + int itpos71 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction67].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos71]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4405; + fra.me.meth = LOCATE_parser___ReduceAction67___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4405 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos71] = 1; + return; +} +void parser___ReduceAction68___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4409; + fra.me.meth = LOCATE_parser___ReduceAction68___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4427 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4427); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4429 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4429); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4431 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4431); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4433 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4433); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4435 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4435); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:4437 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[4]; + /* ./parser//parser.nit:4438 */ + } else { + /* ./parser//parser.nit:4440 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4444 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4444); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4446 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4446); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:4447 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4448 */ + array___Array___add(fra.me.REG[11], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]); + /* ./parser//parser.nit:4451 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[11] = fra.me.REG[2]; + /* ./parser//parser.nit:4452 */ + } else { + /* ./parser//parser.nit:4454 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[2]); + } + fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]); + fra.me.REG[0] = fra.me.REG[11]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4468 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction68___init(val_t p0, int* init_table){ + int itpos72 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction68].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos72]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4470; + fra.me.meth = LOCATE_parser___ReduceAction68___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4470 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos72] = 1; + return; +} +void parser___ReduceAction69___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4474; + fra.me.meth = LOCATE_parser___ReduceAction69___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4492 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4492); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:4494 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4494); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4496 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4496); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4498 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4498); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4500 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4500); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4502 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4502); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:4504 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[3]; + /* ./parser//parser.nit:4505 */ + } else { + /* ./parser//parser.nit:4507 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4511 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4511); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:4512 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4513 */ + array___Array___add(fra.me.REG[11], fra.me.REG[2]); + } + fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]); + fra.me.REG[0] = fra.me.REG[11]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4526 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction69___init(val_t p0, int* init_table){ + int itpos73 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction69].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos73]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4528; + fra.me.meth = LOCATE_parser___ReduceAction69___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4528 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos73] = 1; + return; +} +void parser___ReduceAction70___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[12];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4532; + fra.me.meth = LOCATE_parser___ReduceAction70___action; + fra.me.has_broke = 0; + fra.me.REG_size = 13; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[12] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + fra.me.REG[12] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4551 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4551); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:4553 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4553); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4555 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4555); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4557 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4557); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4559 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4559); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4561 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4561); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]); + /* ./parser//parser.nit:4563 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[10] = fra.me.REG[4]; + /* ./parser//parser.nit:4564 */ + } else { + /* ./parser//parser.nit:4566 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4570 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4570); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4572 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4572); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:4573 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4574 */ + array___Array___add(fra.me.REG[12], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[12])(fra.me.REG[12]); + /* ./parser//parser.nit:4577 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[12] = fra.me.REG[2]; + /* ./parser//parser.nit:4578 */ + } else { + /* ./parser//parser.nit:4580 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[2]); + } + fra.me.REG[12] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12]); + fra.me.REG[0] = fra.me.REG[12]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4594 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction70___init(val_t p0, int* init_table){ + int itpos74 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction70].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos74]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4596; + fra.me.meth = LOCATE_parser___ReduceAction70___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4596 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos74] = 1; + return; +} +void parser___ReduceAction71___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4600; + fra.me.meth = LOCATE_parser___ReduceAction71___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4617 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4617); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4619 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4619); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4621 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4621); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4623 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4623); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4625 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4625); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:4627 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[3]; + /* ./parser//parser.nit:4628 */ + } else { + /* ./parser//parser.nit:4630 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4634 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4634); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:4635 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4636 */ + array___Array___add(fra.me.REG[10], fra.me.REG[2]); + } + fra.me.REG[10] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]); + fra.me.REG[0] = fra.me.REG[10]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4649 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction71___init(val_t p0, int* init_table){ + int itpos75 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction71].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos75]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4651; + fra.me.meth = LOCATE_parser___ReduceAction71___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4651 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos75] = 1; + return; +} +void parser___ReduceAction72___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4655; + fra.me.meth = LOCATE_parser___ReduceAction72___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4673 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4673); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4675 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4675); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4677 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4677); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4679 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4679); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4681 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4681); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]); + /* ./parser//parser.nit:4683 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[10] = fra.me.REG[4]; + /* ./parser//parser.nit:4684 */ + } else { + /* ./parser//parser.nit:4686 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4690 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4690); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4692 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4692); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:4693 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4694 */ + array___Array___add(fra.me.REG[11], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]); + /* ./parser//parser.nit:4697 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[11] = fra.me.REG[2]; + /* ./parser//parser.nit:4698 */ + } else { + /* ./parser//parser.nit:4700 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[2]); + } + fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]); + fra.me.REG[0] = fra.me.REG[11]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4714 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction72___init(val_t p0, int* init_table){ + int itpos76 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction72].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos76]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4716; + fra.me.meth = LOCATE_parser___ReduceAction72___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4716 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos76] = 1; + return; +} +void parser___ReduceAction73___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4720; + fra.me.meth = LOCATE_parser___ReduceAction73___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4738 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4738); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:4740 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4740); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4742 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4742); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4744 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4744); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4746 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4746); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4748 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4748); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]); + /* ./parser//parser.nit:4750 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[10] = fra.me.REG[3]; + /* ./parser//parser.nit:4751 */ + } else { + /* ./parser//parser.nit:4753 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4757 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4757); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:4758 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4759 */ + array___Array___add(fra.me.REG[11], fra.me.REG[2]); + } + fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]); + fra.me.REG[0] = fra.me.REG[11]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4772 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction73___init(val_t p0, int* init_table){ + int itpos77 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction73].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos77]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4774; + fra.me.meth = LOCATE_parser___ReduceAction73___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4774 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos77] = 1; + return; +} +void parser___ReduceAction74___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[12];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4778; + fra.me.meth = LOCATE_parser___ReduceAction74___action; + fra.me.has_broke = 0; + fra.me.REG_size = 13; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[12] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + fra.me.REG[12] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4797 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4797); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:4799 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4799); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4801 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4801); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4803 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4803); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4805 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4805); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4807 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4807); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]); + /* ./parser//parser.nit:4809 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[11] = fra.me.REG[4]; + /* ./parser//parser.nit:4810 */ + } else { + /* ./parser//parser.nit:4812 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4816 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4816); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4818 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4818); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:4819 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4820 */ + array___Array___add(fra.me.REG[12], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[12])(fra.me.REG[12]); + /* ./parser//parser.nit:4823 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[12] = fra.me.REG[2]; + /* ./parser//parser.nit:4824 */ + } else { + /* ./parser//parser.nit:4826 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[2]); + } + fra.me.REG[12] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12]); + fra.me.REG[0] = fra.me.REG[12]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4840 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction74___init(val_t p0, int* init_table){ + int itpos78 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction74].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos78]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4842; + fra.me.meth = LOCATE_parser___ReduceAction74___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4842 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos78] = 1; + return; +} +void parser___ReduceAction75___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4846; + fra.me.meth = LOCATE_parser___ReduceAction75___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = NEW_Array_array___Array___init(); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4864 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4864); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4866 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4866); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4868 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4868); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4870 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4870); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4872 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4872); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:4874 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[4]; + /* ./parser//parser.nit:4875 */ + } else { + /* ./parser//parser.nit:4877 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4881 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4881); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]); + /* ./parser//parser.nit:4883 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[10] = fra.me.REG[3]; + /* ./parser//parser.nit:4884 */ + } else { + /* ./parser//parser.nit:4886 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4890 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4890); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:4891 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4892 */ + array___Array___add(fra.me.REG[11], fra.me.REG[2]); + } + fra.me.REG[11] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]); + fra.me.REG[0] = fra.me.REG[11]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4905 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction75___init(val_t p0, int* init_table){ + int itpos79 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction75].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos79]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4907; + fra.me.meth = LOCATE_parser___ReduceAction75___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4907 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos79] = 1; + return; +} +void parser___ReduceAction76___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[12];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4911; + fra.me.meth = LOCATE_parser___ReduceAction76___action; + fra.me.has_broke = 0; + fra.me.REG_size = 13; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[12] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + fra.me.REG[12] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:4930 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4930); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:4932 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4932); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:4934 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4934); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:4936 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4936); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4938 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4938); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]); + /* ./parser//parser.nit:4940 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[10] = fra.me.REG[5]; + /* ./parser//parser.nit:4941 */ + } else { + /* ./parser//parser.nit:4943 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[5]); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4947 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4947); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]); + /* ./parser//parser.nit:4949 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[11] = fra.me.REG[4]; + /* ./parser//parser.nit:4950 */ + } else { + /* ./parser//parser.nit:4952 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:4956 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4956); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:4958 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 4958); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:4959 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:4960 */ + array___Array___add(fra.me.REG[12], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[12])(fra.me.REG[12]); + /* ./parser//parser.nit:4963 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[12] = fra.me.REG[2]; + /* ./parser//parser.nit:4964 */ + } else { + /* ./parser//parser.nit:4966 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[2]); + } + fra.me.REG[12] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12]); + fra.me.REG[0] = fra.me.REG[12]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:4980 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction76___init(val_t p0, int* init_table){ + int itpos80 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction76].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos80]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4982; + fra.me.meth = LOCATE_parser___ReduceAction76___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:4982 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos80] = 1; + return; +} +void parser___ReduceAction77___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[12];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 4986; + fra.me.meth = LOCATE_parser___ReduceAction77___action; + fra.me.has_broke = 0; + fra.me.REG_size = 13; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[12] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = NEW_Array_array___Array___init(); + fra.me.REG[11] = NEW_Array_array___Array___init(); + fra.me.REG[12] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5005 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5005); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:5007 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5007); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5009 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5009); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:5011 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5011); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:5013 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5013); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:5015 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5015); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[10])(fra.me.REG[10]); + /* ./parser//parser.nit:5017 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[10] = fra.me.REG[4]; + /* ./parser//parser.nit:5018 */ + } else { + /* ./parser//parser.nit:5020 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:5024 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5024); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]); + /* ./parser//parser.nit:5026 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[11] = fra.me.REG[3]; + /* ./parser//parser.nit:5027 */ + } else { + /* ./parser//parser.nit:5029 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:5033 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5033); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:5034 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:5035 */ + array___Array___add(fra.me.REG[12], fra.me.REG[2]); + } + fra.me.REG[12] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12]); + fra.me.REG[0] = fra.me.REG[12]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5048 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction77___init(val_t p0, int* init_table){ + int itpos81 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction77].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos81]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5050; + fra.me.meth = LOCATE_parser___ReduceAction77___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5050 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos81] = 1; + return; +} +void parser___ReduceAction78___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[13];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5054; + fra.me.meth = LOCATE_parser___ReduceAction78___action; + fra.me.has_broke = 0; + fra.me.REG_size = 14; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[12] = NIT_NULL; + fra.me.REG[13] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[11] = NEW_Array_array___Array___init(); + fra.me.REG[12] = NEW_Array_array___Array___init(); + fra.me.REG[13] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5074 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5074); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:5076 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5076); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5078 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5078); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AClasskind, ID_AClasskind)) /*cast nullable AClasskind*/; + /* ./parser//parser.nit:5080 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5080); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:5082 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5082); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:5084 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5084); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[11])(fra.me.REG[11]); + /* ./parser//parser.nit:5086 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[11] = fra.me.REG[5]; + /* ./parser//parser.nit:5087 */ + } else { + /* ./parser//parser.nit:5089 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[5]); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:5093 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5093); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[12])(fra.me.REG[12]); + /* ./parser//parser.nit:5095 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[12] = fra.me.REG[4]; + /* ./parser//parser.nit:5096 */ + } else { + /* ./parser//parser.nit:5098 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:5102 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5102); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:5104 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5104); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:5105 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:5106 */ + array___Array___add(fra.me.REG[13], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[13])(fra.me.REG[13]); + /* ./parser//parser.nit:5109 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[13] = fra.me.REG[2]; + /* ./parser//parser.nit:5110 */ + } else { + /* ./parser//parser.nit:5112 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[13])(fra.me.REG[13], fra.me.REG[2]); + } + fra.me.REG[13] = NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], fra.me.REG[12], fra.me.REG[13]); + fra.me.REG[0] = fra.me.REG[13]; + REGB0 = TAG_Int(5); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5126 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction78___init(val_t p0, int* init_table){ + int itpos82 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction78].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos82]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5128; + fra.me.meth = LOCATE_parser___ReduceAction78___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5128 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos82] = 1; + return; +} +void parser___ReduceAction79___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5132; + fra.me.meth = LOCATE_parser___ReduceAction79___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwclass, ID_TKwclass)) /*cast nullable TKwclass*/; + /* ./parser//parser.nit:5137 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5137); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteClasskind_parser_prod___AConcreteClasskind___init_aconcreteclasskind(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(6); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5142 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction79___init(val_t p0, int* init_table){ + int itpos83 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction79].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos83]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5144; + fra.me.meth = LOCATE_parser___ReduceAction79___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5144 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos83] = 1; + return; +} +void parser___ReduceAction80___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5148; + fra.me.meth = LOCATE_parser___ReduceAction80___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwabstract, ID_TKwabstract)) /*cast nullable TKwabstract*/; + /* ./parser//parser.nit:5154 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5154); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwclass, ID_TKwclass)) /*cast nullable TKwclass*/; + /* ./parser//parser.nit:5156 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5156); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___init_aabstractclasskind(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(6); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5162 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction80___init(val_t p0, int* init_table){ + int itpos84 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction80].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos84]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5164; + fra.me.meth = LOCATE_parser___ReduceAction80___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5164 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos84] = 1; + return; +} +void parser___ReduceAction81___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5168; + fra.me.meth = LOCATE_parser___ReduceAction81___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwinterface, ID_TKwinterface)) /*cast nullable TKwinterface*/; + /* ./parser//parser.nit:5173 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5173); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(6); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5178 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction81___init(val_t p0, int* init_table){ + int itpos85 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction81].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos85]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5180; + fra.me.meth = LOCATE_parser___ReduceAction81___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5180 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos85] = 1; + return; +} +void parser___ReduceAction82___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5184; + fra.me.meth = LOCATE_parser___ReduceAction82___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwuniversal, ID_TKwuniversal)) /*cast nullable TKwuniversal*/; + /* ./parser//parser.nit:5189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5189); + nit_exit(1); + } + fra.me.REG[2] = NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___init_auniversalclasskind(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(6); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5194 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction82___init(val_t p0, int* init_table){ + int itpos86 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction82].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos86]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5196; + fra.me.meth = LOCATE_parser___ReduceAction82___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5196 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos86] = 1; + return; +} +void parser___ReduceAction83___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5200; + fra.me.meth = LOCATE_parser___ReduceAction83___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/; + /* ./parser//parser.nit:5210 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5210); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:5211 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:5212 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(7); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5215 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction83___init(val_t p0, int* init_table){ + int itpos87 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction83].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos87]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5217; + fra.me.meth = LOCATE_parser___ReduceAction83___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5217 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos87] = 1; + return; +} +void parser___ReduceAction84___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5221; + fra.me.meth = LOCATE_parser___ReduceAction84___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/; + /* ./parser//parser.nit:5232 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5232); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:5234 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5234); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:5235 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:5236 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:5239 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:5240 */ + } else { + /* ./parser//parser.nit:5242 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(7); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5246 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction84___init(val_t p0, int* init_table){ + int itpos88 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction84].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos88]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5248; + fra.me.meth = LOCATE_parser___ReduceAction84___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5248 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos88] = 1; + return; +} +void parser___ReduceAction85___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5252; + fra.me.meth = LOCATE_parser___ReduceAction85___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/; + /* ./parser//parser.nit:5259 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5259); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(8); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5261 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction85___init(val_t p0, int* init_table){ + int itpos89 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction85].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos89]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5263; + fra.me.meth = LOCATE_parser___ReduceAction85___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5263 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos89] = 1; + return; +} +void parser___ReduceAction86___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5267; + fra.me.meth = LOCATE_parser___ReduceAction86___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:5272 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5272); + nit_exit(1); + } + fra.me.REG[2] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(9); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5278 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction86___init(val_t p0, int* init_table){ + int itpos90 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction86].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos90]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5280; + fra.me.meth = LOCATE_parser___ReduceAction86___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5280 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos90] = 1; + return; +} +void parser___ReduceAction87___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5284; + fra.me.meth = LOCATE_parser___ReduceAction87___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:5290 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5290); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:5292 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5292); + nit_exit(1); + } + fra.me.REG[2] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(9); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5298 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction87___init(val_t p0, int* init_table){ + int itpos91 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction87].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos91]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5300; + fra.me.meth = LOCATE_parser___ReduceAction87___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5300 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos91] = 1; + return; +} +void parser___ReduceAction88___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5304; + fra.me.meth = LOCATE_parser___ReduceAction88___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwspecial, ID_TKwspecial)) /*cast nullable TKwspecial*/; + /* ./parser//parser.nit:5312 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5312); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:5314 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5314); + nit_exit(1); + } + fra.me.REG[2] = NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(10); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5320 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction88___init(val_t p0, int* init_table){ + int itpos92 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction88].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos92]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5322; + fra.me.meth = LOCATE_parser___ReduceAction88___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5322 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos92] = 1; + return; +} +void parser___ReduceAction89___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5326; + fra.me.meth = LOCATE_parser___ReduceAction89___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:5332 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5332); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(11); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5334 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction89___init(val_t p0, int* init_table){ + int itpos93 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction89].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos93]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5336; + fra.me.meth = LOCATE_parser___ReduceAction89___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5336 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos93] = 1; + return; +} +void parser___ReduceAction90___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5340; + fra.me.meth = LOCATE_parser___ReduceAction90___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5351 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5351); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5353 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5353); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5355 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5355); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:5357 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5357); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5362 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5362); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5364 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5364); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5375 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction90___init(val_t p0, int* init_table){ + int itpos94 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction90].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos94]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5377; + fra.me.meth = LOCATE_parser___ReduceAction90___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5377 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos94] = 1; + return; +} +void parser___ReduceAction91___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5381; + fra.me.meth = LOCATE_parser___ReduceAction91___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5392 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5392); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5394 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5394); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5396 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5396); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:5398 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5398); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5403 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5403); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5405 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5405); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5416 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction91___init(val_t p0, int* init_table){ + int itpos95 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction91].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos95]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5418; + fra.me.meth = LOCATE_parser___ReduceAction91___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5418 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos95] = 1; + return; +} +void parser___ReduceAction92___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5422; + fra.me.meth = LOCATE_parser___ReduceAction92___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5433 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5433); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5435 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5435); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5437 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5437); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:5439 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5439); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5444 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5444); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5446 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5446); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5457 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction92___init(val_t p0, int* init_table){ + int itpos96 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction92].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos96]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5459; + fra.me.meth = LOCATE_parser___ReduceAction92___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5459 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos96] = 1; + return; +} +void parser___ReduceAction93___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5463; + fra.me.meth = LOCATE_parser___ReduceAction93___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5474 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5474); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5476 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5476); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5478 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5478); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:5480 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5480); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5485 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5485); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5487 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5487); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5498 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction93___init(val_t p0, int* init_table){ + int itpos97 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction93].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos97]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5500; + fra.me.meth = LOCATE_parser___ReduceAction93___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5500 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos97] = 1; + return; +} +void parser___ReduceAction94___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5504; + fra.me.meth = LOCATE_parser___ReduceAction94___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5515 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5515); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5517 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5517); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5519 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5519); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:5521 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5521); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5526 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5526); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5528 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5528); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5539 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction94___init(val_t p0, int* init_table){ + int itpos98 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction94].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos98]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5541; + fra.me.meth = LOCATE_parser___ReduceAction94___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5541 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos98] = 1; + return; +} +void parser___ReduceAction95___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5545; + fra.me.meth = LOCATE_parser___ReduceAction95___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5556 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5556); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5558 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5558); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5560 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5560); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:5562 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5562); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5567 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5567); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5569 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5569); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5580 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction95___init(val_t p0, int* init_table){ + int itpos99 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction95].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos99]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5582; + fra.me.meth = LOCATE_parser___ReduceAction95___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5582 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos99] = 1; + return; +} +void parser___ReduceAction96___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5586; + fra.me.meth = LOCATE_parser___ReduceAction96___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5597 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5597); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5599 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5599); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5601 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5601); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:5603 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5603); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5608 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5608); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5610 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5610); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5621 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction96___init(val_t p0, int* init_table){ + int itpos100 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction96].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos100]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5623; + fra.me.meth = LOCATE_parser___ReduceAction96___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5623 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos100] = 1; + return; +} +void parser___ReduceAction97___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5627; + fra.me.meth = LOCATE_parser___ReduceAction97___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5638 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5638); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5640 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5640); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5642 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5642); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:5644 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5644); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5649 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5649); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5651 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5651); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5662 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction97___init(val_t p0, int* init_table){ + int itpos101 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction97].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos101]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5664; + fra.me.meth = LOCATE_parser___ReduceAction97___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5664 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos101] = 1; + return; +} +void parser___ReduceAction98___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5668; + fra.me.meth = LOCATE_parser___ReduceAction98___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5679 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5679); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5681 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5681); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5683 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5683); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:5685 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5685); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5690 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5690); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5692 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5692); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5703 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction98___init(val_t p0, int* init_table){ + int itpos102 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction98].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos102]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5705; + fra.me.meth = LOCATE_parser___ReduceAction98___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5705 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos102] = 1; + return; +} +void parser___ReduceAction99___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5709; + fra.me.meth = LOCATE_parser___ReduceAction99___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5720 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5720); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5722 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5722); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5724 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5724); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:5726 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5726); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5731 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5731); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5733 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5733); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5744 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction99___init(val_t p0, int* init_table){ + int itpos103 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction99].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos103]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5746; + fra.me.meth = LOCATE_parser___ReduceAction99___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5746 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos103] = 1; + return; +} +void parser___ReduceAction100___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5750; + fra.me.meth = LOCATE_parser___ReduceAction100___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5761 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5761); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5763 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5763); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5765); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:5767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5767); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5772 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5772); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5774 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5774); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5785 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction100___init(val_t p0, int* init_table){ + int itpos104 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction100].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos104]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5787; + fra.me.meth = LOCATE_parser___ReduceAction100___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5787 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos104] = 1; + return; +} +void parser___ReduceAction101___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5791; + fra.me.meth = LOCATE_parser___ReduceAction101___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5802 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5802); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5804 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5804); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5806 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5806); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:5808 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5808); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5813 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5813); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5815 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5815); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5826 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction101___init(val_t p0, int* init_table){ + int itpos105 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction101].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos105]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5828; + fra.me.meth = LOCATE_parser___ReduceAction101___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5828 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos105] = 1; + return; +} +void parser___ReduceAction102___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5832; + fra.me.meth = LOCATE_parser___ReduceAction102___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5844 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5844); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5846 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5846); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5848 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5848); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:5850 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5850); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:5852 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5852); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5858 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5858); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5860 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5860); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5871 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction102___init(val_t p0, int* init_table){ + int itpos106 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction102].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos106]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5873; + fra.me.meth = LOCATE_parser___ReduceAction102___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5873 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos106] = 1; + return; +} +void parser___ReduceAction103___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5877; + fra.me.meth = LOCATE_parser___ReduceAction103___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5888 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5888); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5890 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5890); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5892 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5892); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:5894 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5894); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5899 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5899); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5901 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5901); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5912 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction103___init(val_t p0, int* init_table){ + int itpos107 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction103].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos107]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5914; + fra.me.meth = LOCATE_parser___ReduceAction103___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5914 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos107] = 1; + return; +} +void parser___ReduceAction104___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5918; + fra.me.meth = LOCATE_parser___ReduceAction104___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5930 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5930); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5932 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5932); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5934 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5934); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:5936 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5936); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:5938 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5938); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5944 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5944); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5946 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5946); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:5957 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction104___init(val_t p0, int* init_table){ + int itpos108 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction104].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos108]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5959; + fra.me.meth = LOCATE_parser___ReduceAction104___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:5959 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos108] = 1; + return; +} +void parser___ReduceAction105___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 5963; + fra.me.meth = LOCATE_parser___ReduceAction105___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:5976 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5976); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:5978 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5978); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:5980 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5980); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:5982 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5982); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:5984 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5984); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:5986 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5986); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:5993 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5993); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:5995 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 5995); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6006 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction105___init(val_t p0, int* init_table){ + int itpos109 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction105].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos109]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6008; + fra.me.meth = LOCATE_parser___ReduceAction105___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6008 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos109] = 1; + return; +} +void parser___ReduceAction106___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6012; + fra.me.meth = LOCATE_parser___ReduceAction106___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6024 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6024); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6026 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6026); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6028 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6028); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6030 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6030); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:6032 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6032); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6037 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6037); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6039 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6039); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6050 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction106___init(val_t p0, int* init_table){ + int itpos110 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction106].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos110]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6052; + fra.me.meth = LOCATE_parser___ReduceAction106___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6052 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos110] = 1; + return; +} +void parser___ReduceAction107___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6056; + fra.me.meth = LOCATE_parser___ReduceAction107___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6068 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6068); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6070 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6070); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6072 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6072); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6074 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6074); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:6076 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6076); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6081 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6081); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6083 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6083); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6094 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction107___init(val_t p0, int* init_table){ + int itpos111 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction107].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos111]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6096; + fra.me.meth = LOCATE_parser___ReduceAction107___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6096 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos111] = 1; + return; +} +void parser___ReduceAction108___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6100; + fra.me.meth = LOCATE_parser___ReduceAction108___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6112 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6112); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6114 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6114); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6116 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6116); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6118 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6118); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:6120 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6120); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6125 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6125); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6127 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6127); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6138 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction108___init(val_t p0, int* init_table){ + int itpos112 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction108].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos112]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6140; + fra.me.meth = LOCATE_parser___ReduceAction108___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6140 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos112] = 1; + return; +} +void parser___ReduceAction109___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6144; + fra.me.meth = LOCATE_parser___ReduceAction109___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6156 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6156); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6158 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6158); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6160 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6160); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6162 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6162); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:6164 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6164); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6169 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6169); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6171 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6171); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6182 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction109___init(val_t p0, int* init_table){ + int itpos113 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction109].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos113]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6184; + fra.me.meth = LOCATE_parser___ReduceAction109___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6184 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos113] = 1; + return; +} +void parser___ReduceAction110___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6188; + fra.me.meth = LOCATE_parser___ReduceAction110___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6200 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6200); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6202 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6202); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6204 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6204); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6206 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6206); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:6208 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6208); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6213 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6213); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6215 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6215); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6226 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction110___init(val_t p0, int* init_table){ + int itpos114 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction110].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos114]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6228; + fra.me.meth = LOCATE_parser___ReduceAction110___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6228 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos114] = 1; + return; +} +void parser___ReduceAction111___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6232; + fra.me.meth = LOCATE_parser___ReduceAction111___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6244 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6244); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6246 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6246); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6248 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6248); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6250 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6250); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:6252 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6252); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6257 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6257); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6259 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6259); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6270 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction111___init(val_t p0, int* init_table){ + int itpos115 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction111].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos115]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6272; + fra.me.meth = LOCATE_parser___ReduceAction111___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6272 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos115] = 1; + return; +} +void parser___ReduceAction112___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6276; + fra.me.meth = LOCATE_parser___ReduceAction112___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6288 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6288); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6290 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6290); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6292 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6292); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6294 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6294); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:6296 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6296); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6301 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6301); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6303 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6303); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6314 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction112___init(val_t p0, int* init_table){ + int itpos116 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction112].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos116]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6316; + fra.me.meth = LOCATE_parser___ReduceAction112___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6316 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos116] = 1; + return; +} +void parser___ReduceAction113___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6320; + fra.me.meth = LOCATE_parser___ReduceAction113___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6332 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6332); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6334 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6334); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6336 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6336); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6338 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6338); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:6340 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6340); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6345 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6345); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6347 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6347); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6358 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction113___init(val_t p0, int* init_table){ + int itpos117 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction113].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos117]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6360; + fra.me.meth = LOCATE_parser___ReduceAction113___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6360 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos117] = 1; + return; +} +void parser___ReduceAction114___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6364; + fra.me.meth = LOCATE_parser___ReduceAction114___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6376 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6376); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6378 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6378); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6380 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6380); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6382 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6382); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:6384 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6384); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6389 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6389); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6391 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6391); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6402 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction114___init(val_t p0, int* init_table){ + int itpos118 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction114].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos118]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6404; + fra.me.meth = LOCATE_parser___ReduceAction114___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6404 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos118] = 1; + return; +} +void parser___ReduceAction115___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6408; + fra.me.meth = LOCATE_parser___ReduceAction115___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6420 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6420); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6422 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6422); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6424 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6424); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6426 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6426); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:6428 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6428); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6433 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6433); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6435 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6435); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6446 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction115___init(val_t p0, int* init_table){ + int itpos119 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction115].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos119]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6448; + fra.me.meth = LOCATE_parser___ReduceAction115___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6448 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos119] = 1; + return; +} +void parser___ReduceAction116___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6452; + fra.me.meth = LOCATE_parser___ReduceAction116___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6464 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6464); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6466 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6466); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6468 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6468); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6470 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6470); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:6472 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6472); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6477 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6477); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6479 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6479); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6490 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction116___init(val_t p0, int* init_table){ + int itpos120 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction116].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos120]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6492; + fra.me.meth = LOCATE_parser___ReduceAction116___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6492 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos120] = 1; + return; +} +void parser___ReduceAction117___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6496; + fra.me.meth = LOCATE_parser___ReduceAction117___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6508 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6508); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6510 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6510); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6512 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6512); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6514 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6514); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:6516 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6516); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6521 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6521); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6523 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6523); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6534 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction117___init(val_t p0, int* init_table){ + int itpos121 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction117].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos121]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6536; + fra.me.meth = LOCATE_parser___ReduceAction117___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6536 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos121] = 1; + return; +} +void parser___ReduceAction118___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6540; + fra.me.meth = LOCATE_parser___ReduceAction118___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6553 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6553); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6555 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6555); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6557 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6557); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6559 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6559); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:6561 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6561); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:6563 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6563); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6569 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6569); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6571 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6571); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6582 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction118___init(val_t p0, int* init_table){ + int itpos122 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction118].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos122]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6584; + fra.me.meth = LOCATE_parser___ReduceAction118___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6584 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos122] = 1; + return; +} +void parser___ReduceAction119___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6588; + fra.me.meth = LOCATE_parser___ReduceAction119___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6600); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6602 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6602); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6604 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6604); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6606 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6606); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:6608 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6608); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6613 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6613); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6615 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6615); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6626 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction119___init(val_t p0, int* init_table){ + int itpos123 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction119].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos123]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6628; + fra.me.meth = LOCATE_parser___ReduceAction119___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6628 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos123] = 1; + return; +} +void parser___ReduceAction120___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6632; + fra.me.meth = LOCATE_parser___ReduceAction120___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6645 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6645); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6647 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6647); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6649 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6649); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6651 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6651); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:6653 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6653); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:6655 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6655); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6661 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6661); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6663 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6663); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6674 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction120___init(val_t p0, int* init_table){ + int itpos124 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction120].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos124]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6676; + fra.me.meth = LOCATE_parser___ReduceAction120___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6676 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos124] = 1; + return; +} +void parser___ReduceAction121___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6680; + fra.me.meth = LOCATE_parser___ReduceAction121___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6694 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6694); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:6696 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6696); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6698 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6698); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6700 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6700); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:6702 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6702); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:6704 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6704); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:6706 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6706); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6713 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6713); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6715 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6715); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6726 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction121___init(val_t p0, int* init_table){ + int itpos125 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction121].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos125]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6728; + fra.me.meth = LOCATE_parser___ReduceAction121___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6728 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos125] = 1; + return; +} +void parser___ReduceAction122___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6732; + fra.me.meth = LOCATE_parser___ReduceAction122___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6744 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6744); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6746 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6746); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6748 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6748); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:6750 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6750); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6755 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6755); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6757 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6757); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6768 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction122___init(val_t p0, int* init_table){ + int itpos126 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction122].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos126]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6770; + fra.me.meth = LOCATE_parser___ReduceAction122___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6770 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos126] = 1; + return; +} +void parser___ReduceAction123___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6774; + fra.me.meth = LOCATE_parser___ReduceAction123___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6786 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6786); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6788 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6788); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6790 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6790); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:6792 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6792); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6797 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6797); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6799 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6799); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6810 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction123___init(val_t p0, int* init_table){ + int itpos127 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction123].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos127]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6812; + fra.me.meth = LOCATE_parser___ReduceAction123___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6812 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos127] = 1; + return; +} +void parser___ReduceAction124___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6816; + fra.me.meth = LOCATE_parser___ReduceAction124___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6828 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6828); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6830 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6830); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6832 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6832); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:6834 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6834); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6839 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6839); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6841 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6841); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6852 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction124___init(val_t p0, int* init_table){ + int itpos128 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction124].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos128]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6854; + fra.me.meth = LOCATE_parser___ReduceAction124___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6854 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos128] = 1; + return; +} +void parser___ReduceAction125___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6858; + fra.me.meth = LOCATE_parser___ReduceAction125___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6870 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6870); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6872 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6872); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6874 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6874); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:6876 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6876); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6881 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6881); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6883 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6883); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6894 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction125___init(val_t p0, int* init_table){ + int itpos129 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction125].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos129]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6896; + fra.me.meth = LOCATE_parser___ReduceAction125___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6896 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos129] = 1; + return; +} +void parser___ReduceAction126___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6900; + fra.me.meth = LOCATE_parser___ReduceAction126___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6912 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6912); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6914 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6914); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6916 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6916); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:6918 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6918); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6923 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6923); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6925 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6925); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6936 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction126___init(val_t p0, int* init_table){ + int itpos130 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction126].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos130]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6938; + fra.me.meth = LOCATE_parser___ReduceAction126___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6938 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos130] = 1; + return; +} +void parser___ReduceAction127___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6942; + fra.me.meth = LOCATE_parser___ReduceAction127___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6954 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6954); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6956 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6956); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:6958 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6958); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:6960 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6960); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:6965 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6965); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:6967 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6967); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:6978 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction127___init(val_t p0, int* init_table){ + int itpos131 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction127].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos131]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6980; + fra.me.meth = LOCATE_parser___ReduceAction127___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:6980 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos131] = 1; + return; +} +void parser___ReduceAction128___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 6984; + fra.me.meth = LOCATE_parser___ReduceAction128___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:6996 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6996); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:6998 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 6998); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7000 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7000); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:7002 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7002); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7007 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7007); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7009 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7009); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7020 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction128___init(val_t p0, int* init_table){ + int itpos132 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction128].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos132]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7022; + fra.me.meth = LOCATE_parser___ReduceAction128___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7022 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos132] = 1; + return; +} +void parser___ReduceAction129___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7026; + fra.me.meth = LOCATE_parser___ReduceAction129___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7038 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7038); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7040 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7040); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7042 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7042); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:7044 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7044); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7049 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7049); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7051 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7051); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7062 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction129___init(val_t p0, int* init_table){ + int itpos133 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction129].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos133]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7064; + fra.me.meth = LOCATE_parser___ReduceAction129___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7064 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos133] = 1; + return; +} +void parser___ReduceAction130___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7068; + fra.me.meth = LOCATE_parser___ReduceAction130___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7080 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7080); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7082 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7082); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7084 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7084); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:7086 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7086); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7091 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7091); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7093 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7093); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7104 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction130___init(val_t p0, int* init_table){ + int itpos134 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction130].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos134]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7106; + fra.me.meth = LOCATE_parser___ReduceAction130___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7106 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos134] = 1; + return; +} +void parser___ReduceAction131___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7110; + fra.me.meth = LOCATE_parser___ReduceAction131___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7122 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7122); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7124 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7124); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7126 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7126); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:7128 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7128); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7133 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7133); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7135 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7135); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7146 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction131___init(val_t p0, int* init_table){ + int itpos135 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction131].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos135]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7148; + fra.me.meth = LOCATE_parser___ReduceAction131___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7148 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos135] = 1; + return; +} +void parser___ReduceAction132___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7152; + fra.me.meth = LOCATE_parser___ReduceAction132___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7164 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7164); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7166 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7166); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7168 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7168); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:7170 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7170); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7175 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7175); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7177 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7177); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7188 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction132___init(val_t p0, int* init_table){ + int itpos136 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction132].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos136]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7190; + fra.me.meth = LOCATE_parser___ReduceAction132___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7190 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos136] = 1; + return; +} +void parser___ReduceAction133___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7194; + fra.me.meth = LOCATE_parser___ReduceAction133___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7206 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7206); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7208 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7208); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7210 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7210); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:7212 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7212); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7217 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7217); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7219 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7219); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7230 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction133___init(val_t p0, int* init_table){ + int itpos137 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction133].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos137]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7232; + fra.me.meth = LOCATE_parser___ReduceAction133___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7232 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos137] = 1; + return; +} +void parser___ReduceAction134___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7236; + fra.me.meth = LOCATE_parser___ReduceAction134___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7249 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7249); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7251 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7251); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7253 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7253); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:7255 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7255); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:7257 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7257); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7263 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7263); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7265 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7265); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7276 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction134___init(val_t p0, int* init_table){ + int itpos138 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction134].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos138]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7278; + fra.me.meth = LOCATE_parser___ReduceAction134___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7278 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos138] = 1; + return; +} +void parser___ReduceAction135___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7282; + fra.me.meth = LOCATE_parser___ReduceAction135___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7294 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7294); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7296 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7296); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7298 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7298); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:7300 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7300); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7305 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7305); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7307 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7307); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7318 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction135___init(val_t p0, int* init_table){ + int itpos139 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction135].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos139]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7320; + fra.me.meth = LOCATE_parser___ReduceAction135___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7320 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos139] = 1; + return; +} +void parser___ReduceAction136___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7324; + fra.me.meth = LOCATE_parser___ReduceAction136___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7337 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7337); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7339 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7339); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7341 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7341); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:7343 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7343); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:7345 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7345); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7351 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7351); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7353 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7353); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7364 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction136___init(val_t p0, int* init_table){ + int itpos140 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction136].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos140]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7366; + fra.me.meth = LOCATE_parser___ReduceAction136___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7366 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos140] = 1; + return; +} +void parser___ReduceAction137___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7370; + fra.me.meth = LOCATE_parser___ReduceAction137___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7384 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7384); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7386 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7386); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7388 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7388); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:7390 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7390); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:7392 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7392); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:7394 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7394); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7401 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7401); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7403 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7403); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7414 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction137___init(val_t p0, int* init_table){ + int itpos141 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction137].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos141]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7416; + fra.me.meth = LOCATE_parser___ReduceAction137___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7416 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos141] = 1; + return; +} +void parser___ReduceAction138___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7420; + fra.me.meth = LOCATE_parser___ReduceAction138___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7433 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7433); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7435 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7435); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7437 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7437); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7439 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7439); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:7441 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7441); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7446 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7446); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7448 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7448); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7459 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction138___init(val_t p0, int* init_table){ + int itpos142 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction138].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos142]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7461; + fra.me.meth = LOCATE_parser___ReduceAction138___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7461 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos142] = 1; + return; +} +void parser___ReduceAction139___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7465; + fra.me.meth = LOCATE_parser___ReduceAction139___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7478 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7478); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7480 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7480); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7482 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7482); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7484 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7484); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:7486 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7486); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7491 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7491); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7493 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7493); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7504 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction139___init(val_t p0, int* init_table){ + int itpos143 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction139].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos143]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7506; + fra.me.meth = LOCATE_parser___ReduceAction139___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7506 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos143] = 1; + return; +} +void parser___ReduceAction140___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7510; + fra.me.meth = LOCATE_parser___ReduceAction140___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7523 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7523); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7525 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7525); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7527 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7527); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7529 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7529); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:7531 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7531); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7536 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7536); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7538 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7538); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7549 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction140___init(val_t p0, int* init_table){ + int itpos144 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction140].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos144]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7551; + fra.me.meth = LOCATE_parser___ReduceAction140___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7551 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos144] = 1; + return; +} +void parser___ReduceAction141___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7555; + fra.me.meth = LOCATE_parser___ReduceAction141___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7568); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7570 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7570); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7572 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7572); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7574 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7574); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:7576 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7576); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7581 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7581); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7583 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7583); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7594 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction141___init(val_t p0, int* init_table){ + int itpos145 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction141].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos145]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7596; + fra.me.meth = LOCATE_parser___ReduceAction141___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7596 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos145] = 1; + return; +} +void parser___ReduceAction142___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7600; + fra.me.meth = LOCATE_parser___ReduceAction142___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7613 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7613); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7615 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7615); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7617 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7617); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7619 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7619); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:7621 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7621); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7626 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7626); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7628 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7628); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7639 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction142___init(val_t p0, int* init_table){ + int itpos146 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction142].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos146]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7641; + fra.me.meth = LOCATE_parser___ReduceAction142___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7641 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos146] = 1; + return; +} +void parser___ReduceAction143___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7645; + fra.me.meth = LOCATE_parser___ReduceAction143___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7658 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7658); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7660 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7660); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7662 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7662); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7664 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7664); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:7666 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7666); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7671 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7671); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7673 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7673); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7684 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction143___init(val_t p0, int* init_table){ + int itpos147 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction143].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos147]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7686; + fra.me.meth = LOCATE_parser___ReduceAction143___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7686 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos147] = 1; + return; +} +void parser___ReduceAction144___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7690; + fra.me.meth = LOCATE_parser___ReduceAction144___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7703 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7703); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7705 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7705); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7707 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7707); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7709 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7709); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:7711 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7711); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7716 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7716); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7718 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7718); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7729 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction144___init(val_t p0, int* init_table){ + int itpos148 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction144].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos148]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7731; + fra.me.meth = LOCATE_parser___ReduceAction144___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7731 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos148] = 1; + return; +} +void parser___ReduceAction145___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7735; + fra.me.meth = LOCATE_parser___ReduceAction145___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7748 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7748); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7750 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7750); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7752 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7752); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7754 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7754); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:7756 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7756); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7761 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7761); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7763 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7763); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7774 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction145___init(val_t p0, int* init_table){ + int itpos149 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction145].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos149]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7776; + fra.me.meth = LOCATE_parser___ReduceAction145___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7776 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos149] = 1; + return; +} +void parser___ReduceAction146___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7780; + fra.me.meth = LOCATE_parser___ReduceAction146___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7793 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7793); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7795 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7795); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7797 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7797); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7799 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7799); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:7801 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7801); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7806 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7806); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7808 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7808); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7819 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction146___init(val_t p0, int* init_table){ + int itpos150 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction146].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos150]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7821; + fra.me.meth = LOCATE_parser___ReduceAction146___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7821 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos150] = 1; + return; +} +void parser___ReduceAction147___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7825; + fra.me.meth = LOCATE_parser___ReduceAction147___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7838 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7838); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7840 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7840); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7842 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7842); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7844 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7844); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:7846 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7846); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7851 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7851); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7853 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7853); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7864 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction147___init(val_t p0, int* init_table){ + int itpos151 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction147].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos151]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7866; + fra.me.meth = LOCATE_parser___ReduceAction147___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7866 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos151] = 1; + return; +} +void parser___ReduceAction148___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7870; + fra.me.meth = LOCATE_parser___ReduceAction148___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7883 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7883); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7885 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7885); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7887 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7887); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7889 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7889); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:7891 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7891); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7896 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7896); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7898 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7898); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7909 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction148___init(val_t p0, int* init_table){ + int itpos152 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction148].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos152]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7911; + fra.me.meth = LOCATE_parser___ReduceAction148___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7911 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos152] = 1; + return; +} +void parser___ReduceAction149___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7915; + fra.me.meth = LOCATE_parser___ReduceAction149___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7928 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7928); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7930 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7930); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7932 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7932); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7934 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7934); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:7936 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7936); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7941 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7941); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7943 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7943); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:7954 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction149___init(val_t p0, int* init_table){ + int itpos153 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction149].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos153]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7956; + fra.me.meth = LOCATE_parser___ReduceAction149___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:7956 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos153] = 1; + return; +} +void parser___ReduceAction150___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 7960; + fra.me.meth = LOCATE_parser___ReduceAction150___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:7974 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7974); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:7976 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7976); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:7978 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7978); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:7980 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7980); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:7982 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7982); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:7984 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7984); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:7990 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7990); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:7992 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 7992); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8003 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction150___init(val_t p0, int* init_table){ + int itpos154 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction150].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos154]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8005; + fra.me.meth = LOCATE_parser___ReduceAction150___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8005 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos154] = 1; + return; +} +void parser___ReduceAction151___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8009; + fra.me.meth = LOCATE_parser___ReduceAction151___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8022 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8022); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:8024 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8024); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8026 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8026); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8028 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8028); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:8030 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8030); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8035 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8035); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8037 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8037); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8048 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction151___init(val_t p0, int* init_table){ + int itpos155 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction151].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos155]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8050; + fra.me.meth = LOCATE_parser___ReduceAction151___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8050 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos155] = 1; + return; +} +void parser___ReduceAction152___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8054; + fra.me.meth = LOCATE_parser___ReduceAction152___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8068 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8068); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:8070 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8070); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8072 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8072); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8074 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8074); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:8076 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8076); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:8078 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8078); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8084 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8084); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8086 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8086); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8097 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction152___init(val_t p0, int* init_table){ + int itpos156 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction152].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos156]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8099; + fra.me.meth = LOCATE_parser___ReduceAction152___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8099 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos156] = 1; + return; +} +void parser___ReduceAction153___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8103; + fra.me.meth = LOCATE_parser___ReduceAction153___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8118 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8118); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:8120 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8120); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8122 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8122); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8124 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8124); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:8126 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8126); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:8128 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8128); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:8130 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8130); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8137 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8137); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8139 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8139); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8150 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction153___init(val_t p0, int* init_table){ + int itpos157 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction153].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos157]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8152; + fra.me.meth = LOCATE_parser___ReduceAction153___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8152 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos157] = 1; + return; +} +void parser___ReduceAction154___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8156; + fra.me.meth = LOCATE_parser___ReduceAction154___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8168 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8168); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8170 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8170); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8172 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8172); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:8174 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8174); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8179 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8179); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8181 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8181); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8192 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction154___init(val_t p0, int* init_table){ + int itpos158 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction154].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos158]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8194; + fra.me.meth = LOCATE_parser___ReduceAction154___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8194 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos158] = 1; + return; +} +void parser___ReduceAction155___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8198; + fra.me.meth = LOCATE_parser___ReduceAction155___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8210 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8210); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8212 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8212); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8214 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8214); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:8216 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8216); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8221 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8221); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8223 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8223); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8234 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction155___init(val_t p0, int* init_table){ + int itpos159 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction155].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos159]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8236; + fra.me.meth = LOCATE_parser___ReduceAction155___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8236 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos159] = 1; + return; +} +void parser___ReduceAction156___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8240; + fra.me.meth = LOCATE_parser___ReduceAction156___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8252 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8252); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8254 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8254); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8256 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8256); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:8258 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8258); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8263 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8263); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8265 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8265); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8276 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction156___init(val_t p0, int* init_table){ + int itpos160 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction156].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos160]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8278; + fra.me.meth = LOCATE_parser___ReduceAction156___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8278 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos160] = 1; + return; +} +void parser___ReduceAction157___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8282; + fra.me.meth = LOCATE_parser___ReduceAction157___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8294 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8294); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8296 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8296); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8298 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8298); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:8300 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8300); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8305 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8305); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8307 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8307); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8318 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction157___init(val_t p0, int* init_table){ + int itpos161 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction157].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos161]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8320; + fra.me.meth = LOCATE_parser___ReduceAction157___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8320 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos161] = 1; + return; +} +void parser___ReduceAction158___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8324; + fra.me.meth = LOCATE_parser___ReduceAction158___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8336 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8336); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8338 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8338); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8340 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8340); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:8342 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8342); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8347 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8347); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8349 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8349); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8360 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction158___init(val_t p0, int* init_table){ + int itpos162 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction158].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos162]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8362; + fra.me.meth = LOCATE_parser___ReduceAction158___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8362 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos162] = 1; + return; +} +void parser___ReduceAction159___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8366; + fra.me.meth = LOCATE_parser___ReduceAction159___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8378 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8378); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8380 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8380); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8382 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8382); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:8384 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8384); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8389 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8389); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8391 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8391); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8402 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction159___init(val_t p0, int* init_table){ + int itpos163 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction159].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos163]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8404; + fra.me.meth = LOCATE_parser___ReduceAction159___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8404 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos163] = 1; + return; +} +void parser___ReduceAction160___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8408; + fra.me.meth = LOCATE_parser___ReduceAction160___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8420 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8420); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8422 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8422); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8424 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8424); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:8426 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8426); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8431 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8431); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8433 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8433); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8444 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction160___init(val_t p0, int* init_table){ + int itpos164 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction160].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos164]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8446; + fra.me.meth = LOCATE_parser___ReduceAction160___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8446 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos164] = 1; + return; +} +void parser___ReduceAction161___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8450; + fra.me.meth = LOCATE_parser___ReduceAction161___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8462 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8462); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8464 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8464); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8466 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8466); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:8468 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8468); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8473); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8475); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8486 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction161___init(val_t p0, int* init_table){ + int itpos165 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction161].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos165]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8488; + fra.me.meth = LOCATE_parser___ReduceAction161___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8488 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos165] = 1; + return; +} +void parser___ReduceAction162___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8492; + fra.me.meth = LOCATE_parser___ReduceAction162___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8504 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8504); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8506 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8506); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8508 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8508); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:8510 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8510); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8515 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8515); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8517 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8517); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8528 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction162___init(val_t p0, int* init_table){ + int itpos166 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction162].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos166]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8530; + fra.me.meth = LOCATE_parser___ReduceAction162___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8530 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos166] = 1; + return; +} +void parser___ReduceAction163___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8534; + fra.me.meth = LOCATE_parser___ReduceAction163___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8546 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8546); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8548 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8548); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8550 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8550); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:8552 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8552); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8557 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8557); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8559 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8559); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8570 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction163___init(val_t p0, int* init_table){ + int itpos167 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction163].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos167]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8572; + fra.me.meth = LOCATE_parser___ReduceAction163___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8572 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos167] = 1; + return; +} +void parser___ReduceAction164___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8576; + fra.me.meth = LOCATE_parser___ReduceAction164___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8588 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8588); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8590 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8590); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8592 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8592); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:8594 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8594); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8599 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8599); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8601 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8601); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8612 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction164___init(val_t p0, int* init_table){ + int itpos168 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction164].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos168]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8614; + fra.me.meth = LOCATE_parser___ReduceAction164___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8614 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos168] = 1; + return; +} +void parser___ReduceAction165___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8618; + fra.me.meth = LOCATE_parser___ReduceAction165___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8630 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8630); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8632 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8632); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8634 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8634); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:8636 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8636); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8641 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8641); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8643 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8643); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8654 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction165___init(val_t p0, int* init_table){ + int itpos169 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction165].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos169]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8656; + fra.me.meth = LOCATE_parser___ReduceAction165___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8656 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos169] = 1; + return; +} +void parser___ReduceAction166___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8660; + fra.me.meth = LOCATE_parser___ReduceAction166___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8673 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8673); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8675 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8675); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8677 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8677); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:8679 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8679); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:8681 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8681); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8687 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8687); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8689 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8689); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8700 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction166___init(val_t p0, int* init_table){ + int itpos170 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction166].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos170]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8702; + fra.me.meth = LOCATE_parser___ReduceAction166___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8702 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos170] = 1; + return; +} +void parser___ReduceAction167___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8706; + fra.me.meth = LOCATE_parser___ReduceAction167___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8718 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8718); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8720 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8720); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8722 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8722); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:8724 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8724); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8729 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8729); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8731 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8731); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8742 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction167___init(val_t p0, int* init_table){ + int itpos171 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction167].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos171]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8744; + fra.me.meth = LOCATE_parser___ReduceAction167___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8744 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos171] = 1; + return; +} +void parser___ReduceAction168___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8748; + fra.me.meth = LOCATE_parser___ReduceAction168___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8761 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8761); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:8763 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8763); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8765); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8767); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:8769 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8769); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8774 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8774); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8776 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8776); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8787 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction168___init(val_t p0, int* init_table){ + int itpos172 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction168].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos172]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8789; + fra.me.meth = LOCATE_parser___ReduceAction168___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8789 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos172] = 1; + return; +} +void parser___ReduceAction169___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8793; + fra.me.meth = LOCATE_parser___ReduceAction169___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8806 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8806); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:8808 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8808); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8810 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8810); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8812 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8812); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:8814 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8814); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8819 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8819); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8821 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8821); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8832 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction169___init(val_t p0, int* init_table){ + int itpos173 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction169].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos173]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8834; + fra.me.meth = LOCATE_parser___ReduceAction169___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8834 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos173] = 1; + return; +} +void parser___ReduceAction170___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8838; + fra.me.meth = LOCATE_parser___ReduceAction170___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8851 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8851); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:8853 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8853); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8855 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8855); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8857 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8857); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:8859 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8859); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8864 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8864); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8866 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8866); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8877 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction170___init(val_t p0, int* init_table){ + int itpos174 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction170].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos174]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8879; + fra.me.meth = LOCATE_parser___ReduceAction170___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8879 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos174] = 1; + return; +} +void parser___ReduceAction171___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8883; + fra.me.meth = LOCATE_parser___ReduceAction171___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8896 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8896); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:8898 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8898); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8900 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8900); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8902 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8902); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:8904 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8904); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8909 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8909); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8911 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8911); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8922 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction171___init(val_t p0, int* init_table){ + int itpos175 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction171].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos175]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8924; + fra.me.meth = LOCATE_parser___ReduceAction171___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8924 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos175] = 1; + return; +} +void parser___ReduceAction172___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8928; + fra.me.meth = LOCATE_parser___ReduceAction172___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8941 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8941); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:8943 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8943); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8945 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8945); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8947 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8947); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:8949 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8949); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8954 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8954); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:8956 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8956); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:8967 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction172___init(val_t p0, int* init_table){ + int itpos176 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction172].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos176]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8969; + fra.me.meth = LOCATE_parser___ReduceAction172___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:8969 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos176] = 1; + return; +} +void parser___ReduceAction173___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 8973; + fra.me.meth = LOCATE_parser___ReduceAction173___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:8986 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8986); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:8988 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8988); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:8990 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8990); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:8992 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8992); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:8994 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8994); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:8999 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 8999); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:9001 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9001); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9012 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction173___init(val_t p0, int* init_table){ + int itpos177 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction173].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos177]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9014; + fra.me.meth = LOCATE_parser___ReduceAction173___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9014 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos177] = 1; + return; +} +void parser___ReduceAction174___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9018; + fra.me.meth = LOCATE_parser___ReduceAction174___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9031 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9031); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:9033 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9033); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9035 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9035); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9037 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9037); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:9039 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9039); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9044 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9044); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:9046 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9046); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9057 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction174___init(val_t p0, int* init_table){ + int itpos178 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction174].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos178]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9059; + fra.me.meth = LOCATE_parser___ReduceAction174___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9059 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos178] = 1; + return; +} +void parser___ReduceAction175___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9063; + fra.me.meth = LOCATE_parser___ReduceAction175___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9076 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9076); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:9078 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9078); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9080 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9080); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9082 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9082); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:9084 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9084); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9089 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9089); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:9091 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9091); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9102 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction175___init(val_t p0, int* init_table){ + int itpos179 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction175].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos179]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9104; + fra.me.meth = LOCATE_parser___ReduceAction175___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9104 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos179] = 1; + return; +} +void parser___ReduceAction176___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9108; + fra.me.meth = LOCATE_parser___ReduceAction176___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9121 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9121); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:9123 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9123); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9125 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9125); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9127 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9127); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:9129 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9129); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9134 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9134); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:9136 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9136); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9147 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction176___init(val_t p0, int* init_table){ + int itpos180 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction176].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos180]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9149; + fra.me.meth = LOCATE_parser___ReduceAction176___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9149 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos180] = 1; + return; +} +void parser___ReduceAction177___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9153; + fra.me.meth = LOCATE_parser___ReduceAction177___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9166 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9166); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:9168 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9168); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9170 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9170); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9172 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9172); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:9174 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9174); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9179 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9179); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:9181 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9181); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9192 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction177___init(val_t p0, int* init_table){ + int itpos181 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction177].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos181]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9194; + fra.me.meth = LOCATE_parser___ReduceAction177___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9194 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos181] = 1; + return; +} +void parser___ReduceAction178___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9198; + fra.me.meth = LOCATE_parser___ReduceAction178___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9211 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9211); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:9213 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9213); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9215 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9215); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9217 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9217); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:9219 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9219); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9224 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9224); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:9226 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9226); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9237 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction178___init(val_t p0, int* init_table){ + int itpos182 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction178].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos182]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9239; + fra.me.meth = LOCATE_parser___ReduceAction178___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9239 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos182] = 1; + return; +} +void parser___ReduceAction179___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9243; + fra.me.meth = LOCATE_parser___ReduceAction179___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9256 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9256); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:9258 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9258); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9260 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9260); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9262 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9262); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:9264 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9264); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9269 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9269); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:9271 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9271); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9282 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction179___init(val_t p0, int* init_table){ + int itpos183 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction179].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos183]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9284; + fra.me.meth = LOCATE_parser___ReduceAction179___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9284 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos183] = 1; + return; +} +void parser___ReduceAction180___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9288; + fra.me.meth = LOCATE_parser___ReduceAction180___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9302 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9302); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:9304 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9304); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9306 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9306); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9308 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9308); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:9310 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9310); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:9312 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9312); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9318); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:9320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9320); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9331 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction180___init(val_t p0, int* init_table){ + int itpos184 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction180].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos184]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9333; + fra.me.meth = LOCATE_parser___ReduceAction180___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9333 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos184] = 1; + return; +} +void parser___ReduceAction181___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9337; + fra.me.meth = LOCATE_parser___ReduceAction181___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9350 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9350); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:9352 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9352); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9354 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9354); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9356 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9356); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:9358 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9358); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9363 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9363); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:9365 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9365); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9376 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction181___init(val_t p0, int* init_table){ + int itpos185 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction181].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos185]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9378; + fra.me.meth = LOCATE_parser___ReduceAction181___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9378 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos185] = 1; + return; +} +void parser___ReduceAction182___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9382; + fra.me.meth = LOCATE_parser___ReduceAction182___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9393 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9393); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9395 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9395); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9397 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9397); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:9399 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9399); + nit_exit(1); + } + fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9404 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9404); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9414 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction182___init(val_t p0, int* init_table){ + int itpos186 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction182].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos186]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9416; + fra.me.meth = LOCATE_parser___ReduceAction182___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9416 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos186] = 1; + return; +} +void parser___ReduceAction183___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9420; + fra.me.meth = LOCATE_parser___ReduceAction183___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9431 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9431); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9433 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9433); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9435 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9435); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:9437 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9437); + nit_exit(1); + } + fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9442 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9442); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9452 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction183___init(val_t p0, int* init_table){ + int itpos187 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction183].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos187]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9454; + fra.me.meth = LOCATE_parser___ReduceAction183___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9454 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos187] = 1; + return; +} +void parser___ReduceAction184___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9458; + fra.me.meth = LOCATE_parser___ReduceAction184___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9469 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9469); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9471 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9471); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9473); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:9475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9475); + nit_exit(1); + } + fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9480 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9480); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9490 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction184___init(val_t p0, int* init_table){ + int itpos188 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction184].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos188]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9492; + fra.me.meth = LOCATE_parser___ReduceAction184___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9492 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos188] = 1; + return; +} +void parser___ReduceAction185___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9496; + fra.me.meth = LOCATE_parser___ReduceAction185___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9507 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9507); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9509 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9509); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9511 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9511); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:9513 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9513); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9518 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9518); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9528 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction185___init(val_t p0, int* init_table){ + int itpos189 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction185].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos189]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9530; + fra.me.meth = LOCATE_parser___ReduceAction185___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9530 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos189] = 1; + return; +} +void parser___ReduceAction186___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9534; + fra.me.meth = LOCATE_parser___ReduceAction186___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9545 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9545); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9547 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9547); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9549 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9549); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:9551 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9551); + nit_exit(1); + } + fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9556 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9556); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9566 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction186___init(val_t p0, int* init_table){ + int itpos190 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction186].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos190]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9568; + fra.me.meth = LOCATE_parser___ReduceAction186___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9568 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos190] = 1; + return; +} +void parser___ReduceAction187___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9572; + fra.me.meth = LOCATE_parser___ReduceAction187___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9583 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9583); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9585 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9585); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9587 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9587); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:9589 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9589); + nit_exit(1); + } + fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9594 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9594); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9604 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction187___init(val_t p0, int* init_table){ + int itpos191 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction187].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos191]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9606; + fra.me.meth = LOCATE_parser___ReduceAction187___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9606 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos191] = 1; + return; +} +void parser___ReduceAction188___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9610; + fra.me.meth = LOCATE_parser___ReduceAction188___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9621 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9621); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9623 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9623); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9625 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9625); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:9627 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9627); + nit_exit(1); + } + fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9632 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9632); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9642 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction188___init(val_t p0, int* init_table){ + int itpos192 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction188].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos192]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9644; + fra.me.meth = LOCATE_parser___ReduceAction188___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9644 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos192] = 1; + return; +} +void parser___ReduceAction189___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9648; + fra.me.meth = LOCATE_parser___ReduceAction189___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9659 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9659); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9661 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9661); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9663 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9663); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:9665 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9665); + nit_exit(1); + } + fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9670 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9670); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9680 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction189___init(val_t p0, int* init_table){ + int itpos193 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction189].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos193]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9682; + fra.me.meth = LOCATE_parser___ReduceAction189___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9682 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos193] = 1; + return; +} +void parser___ReduceAction190___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9686; + fra.me.meth = LOCATE_parser___ReduceAction190___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9697 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9697); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9699 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9699); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9701 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9701); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:9703 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9703); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9708 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9708); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9718 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction190___init(val_t p0, int* init_table){ + int itpos194 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction190].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos194]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9720; + fra.me.meth = LOCATE_parser___ReduceAction190___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9720 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos194] = 1; + return; +} +void parser___ReduceAction191___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9724; + fra.me.meth = LOCATE_parser___ReduceAction191___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9735 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9735); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9737 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9737); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9739 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9739); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:9741 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9741); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9746 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9746); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9756 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction191___init(val_t p0, int* init_table){ + int itpos195 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction191].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos195]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9758; + fra.me.meth = LOCATE_parser___ReduceAction191___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9758 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos195] = 1; + return; +} +void parser___ReduceAction192___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9762; + fra.me.meth = LOCATE_parser___ReduceAction192___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9773 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9773); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9775 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9775); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9777 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9777); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:9779 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9779); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9784 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9784); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9794 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction192___init(val_t p0, int* init_table){ + int itpos196 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction192].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos196]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9796; + fra.me.meth = LOCATE_parser___ReduceAction192___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9796 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos196] = 1; + return; +} +void parser___ReduceAction193___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9800; + fra.me.meth = LOCATE_parser___ReduceAction193___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9811 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9811); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9813 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9813); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9815 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9815); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:9817 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9817); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9822 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9822); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9832 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction193___init(val_t p0, int* init_table){ + int itpos197 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction193].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos197]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9834; + fra.me.meth = LOCATE_parser___ReduceAction193___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9834 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos197] = 1; + return; +} +void parser___ReduceAction194___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9838; + fra.me.meth = LOCATE_parser___ReduceAction194___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9850 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9850); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9852 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9852); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9854 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9854); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:9856 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9856); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:9858 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9858); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9864 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9864); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9874 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction194___init(val_t p0, int* init_table){ + int itpos198 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction194].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos198]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9876; + fra.me.meth = LOCATE_parser___ReduceAction194___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9876 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos198] = 1; + return; +} +void parser___ReduceAction195___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9880; + fra.me.meth = LOCATE_parser___ReduceAction195___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9891 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9891); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9893 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9893); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9895 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9895); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:9897 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9897); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9902 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9902); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9912 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction195___init(val_t p0, int* init_table){ + int itpos199 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction195].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos199]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9914; + fra.me.meth = LOCATE_parser___ReduceAction195___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9914 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos199] = 1; + return; +} +void parser___ReduceAction196___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9918; + fra.me.meth = LOCATE_parser___ReduceAction196___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9930 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9930); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9932 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9932); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9934 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9934); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:9936 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9936); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:9938 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9938); + nit_exit(1); + } + fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9944 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9944); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:9954 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction196___init(val_t p0, int* init_table){ + int itpos200 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction196].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos200]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9956; + fra.me.meth = LOCATE_parser___ReduceAction196___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:9956 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos200] = 1; + return; +} +void parser___ReduceAction197___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 9960; + fra.me.meth = LOCATE_parser___ReduceAction197___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:9973 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9973); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:9975 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9975); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:9977 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9977); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:9979 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9979); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:9981 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9981); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:9983 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9983); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:9990 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 9990); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10000 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction197___init(val_t p0, int* init_table){ + int itpos201 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction197].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos201]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10002; + fra.me.meth = LOCATE_parser___ReduceAction197___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10002 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos201] = 1; + return; +} +void parser___ReduceAction198___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10006; + fra.me.meth = LOCATE_parser___ReduceAction198___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10018 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10018); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10020 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10020); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10022 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10022); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10024 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10024); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:10026 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10026); + nit_exit(1); + } + fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10031 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10031); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10041 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction198___init(val_t p0, int* init_table){ + int itpos202 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction198].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos202]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10043; + fra.me.meth = LOCATE_parser___ReduceAction198___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10043 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos202] = 1; + return; +} +void parser___ReduceAction199___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10047; + fra.me.meth = LOCATE_parser___ReduceAction199___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10059 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10059); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10061 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10061); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10063); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10065 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10065); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:10067 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10067); + nit_exit(1); + } + fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10072 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10072); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10082 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction199___init(val_t p0, int* init_table){ + int itpos203 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction199].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos203]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10084; + fra.me.meth = LOCATE_parser___ReduceAction199___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10084 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos203] = 1; + return; +} +void parser___ReduceAction200___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10088; + fra.me.meth = LOCATE_parser___ReduceAction200___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10100 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10100); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10102 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10102); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10104 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10104); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10106 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10106); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:10108 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10108); + nit_exit(1); + } + fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10113 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10113); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10123 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction200___init(val_t p0, int* init_table){ + int itpos204 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction200].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos204]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10125; + fra.me.meth = LOCATE_parser___ReduceAction200___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10125 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos204] = 1; + return; +} +void parser___ReduceAction201___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10129; + fra.me.meth = LOCATE_parser___ReduceAction201___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10141 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10141); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10143 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10143); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10145 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10145); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10147 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10147); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:10149 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10149); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10154 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10154); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10164 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction201___init(val_t p0, int* init_table){ + int itpos205 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction201].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos205]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10166; + fra.me.meth = LOCATE_parser___ReduceAction201___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10166 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos205] = 1; + return; +} +void parser___ReduceAction202___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10170; + fra.me.meth = LOCATE_parser___ReduceAction202___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10182 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10182); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10184 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10184); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10186 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10186); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10188 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10188); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:10190 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10190); + nit_exit(1); + } + fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10195 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10195); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10205 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction202___init(val_t p0, int* init_table){ + int itpos206 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction202].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos206]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10207; + fra.me.meth = LOCATE_parser___ReduceAction202___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10207 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos206] = 1; + return; +} +void parser___ReduceAction203___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10211; + fra.me.meth = LOCATE_parser___ReduceAction203___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10223 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10223); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10225 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10225); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10227 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10227); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10229 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10229); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:10231 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10231); + nit_exit(1); + } + fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10236 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10236); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10246 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction203___init(val_t p0, int* init_table){ + int itpos207 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction203].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos207]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10248; + fra.me.meth = LOCATE_parser___ReduceAction203___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10248 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos207] = 1; + return; +} +void parser___ReduceAction204___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10252; + fra.me.meth = LOCATE_parser___ReduceAction204___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10264 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10264); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10266 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10266); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10268 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10268); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10270 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10270); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:10272 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10272); + nit_exit(1); + } + fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10277 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10277); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10287 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction204___init(val_t p0, int* init_table){ + int itpos208 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction204].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos208]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10289; + fra.me.meth = LOCATE_parser___ReduceAction204___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10289 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos208] = 1; + return; +} +void parser___ReduceAction205___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10293; + fra.me.meth = LOCATE_parser___ReduceAction205___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10305 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10305); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10307 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10307); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10309 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10309); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10311 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10311); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:10313 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10313); + nit_exit(1); + } + fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10318); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10328 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction205___init(val_t p0, int* init_table){ + int itpos209 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction205].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos209]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10330; + fra.me.meth = LOCATE_parser___ReduceAction205___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10330 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos209] = 1; + return; +} +void parser___ReduceAction206___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10334; + fra.me.meth = LOCATE_parser___ReduceAction206___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10346 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10346); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10348 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10348); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10350 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10350); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10352 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10352); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:10354 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10354); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10359 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10359); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10369 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction206___init(val_t p0, int* init_table){ + int itpos210 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction206].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos210]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10371; + fra.me.meth = LOCATE_parser___ReduceAction206___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10371 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos210] = 1; + return; +} +void parser___ReduceAction207___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10375; + fra.me.meth = LOCATE_parser___ReduceAction207___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10387 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10387); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10389 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10389); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10391 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10391); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10393 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10393); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:10395 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10395); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10400 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10400); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10410 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction207___init(val_t p0, int* init_table){ + int itpos211 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction207].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos211]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10412; + fra.me.meth = LOCATE_parser___ReduceAction207___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10412 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos211] = 1; + return; +} +void parser___ReduceAction208___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10416; + fra.me.meth = LOCATE_parser___ReduceAction208___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10428 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10428); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10430 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10430); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10432 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10432); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10434 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10434); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:10436 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10436); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10441 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10441); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10451 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction208___init(val_t p0, int* init_table){ + int itpos212 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction208].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos212]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10453; + fra.me.meth = LOCATE_parser___ReduceAction208___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10453 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos212] = 1; + return; +} +void parser___ReduceAction209___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10457; + fra.me.meth = LOCATE_parser___ReduceAction209___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10469 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10469); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10471 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10471); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10473); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10475); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:10477 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10477); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10482 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10482); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10492 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction209___init(val_t p0, int* init_table){ + int itpos213 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction209].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos213]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10494; + fra.me.meth = LOCATE_parser___ReduceAction209___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10494 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos213] = 1; + return; +} +void parser___ReduceAction210___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10498; + fra.me.meth = LOCATE_parser___ReduceAction210___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10511 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10511); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10513 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10513); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10515 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10515); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10517 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10517); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:10519 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10519); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:10521 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10521); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10527 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10527); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10537 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction210___init(val_t p0, int* init_table){ + int itpos214 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction210].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos214]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10539; + fra.me.meth = LOCATE_parser___ReduceAction210___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10539 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos214] = 1; + return; +} +void parser___ReduceAction211___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10543; + fra.me.meth = LOCATE_parser___ReduceAction211___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10555 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10555); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10557 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10557); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10559 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10559); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10561 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10561); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:10563 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10563); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10568); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10578 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction211___init(val_t p0, int* init_table){ + int itpos215 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction211].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos215]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10580; + fra.me.meth = LOCATE_parser___ReduceAction211___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10580 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos215] = 1; + return; +} +void parser___ReduceAction212___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10584; + fra.me.meth = LOCATE_parser___ReduceAction212___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10597 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10597); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10599 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10599); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10601 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10601); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10603 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10603); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:10605 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10605); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:10607 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10607); + nit_exit(1); + } + fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10613 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10613); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10623 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction212___init(val_t p0, int* init_table){ + int itpos216 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction212].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos216]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10625; + fra.me.meth = LOCATE_parser___ReduceAction212___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10625 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos216] = 1; + return; +} +void parser___ReduceAction213___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10629; + fra.me.meth = LOCATE_parser___ReduceAction213___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10643 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10643); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:10645 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10645); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10647 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10647); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10649 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10649); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:10651 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10651); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:10653 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10653); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:10655 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10655); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10662 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10662); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADeferredMethPropdef_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10672 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction213___init(val_t p0, int* init_table){ + int itpos217 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction213].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos217]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10674; + fra.me.meth = LOCATE_parser___ReduceAction213___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10674 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos217] = 1; + return; +} +void parser___ReduceAction214___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10678; + fra.me.meth = LOCATE_parser___ReduceAction214___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10689 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10689); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10691 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10691); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10693 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10693); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:10695 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10695); + nit_exit(1); + } + fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10700 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10700); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10710 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction214___init(val_t p0, int* init_table){ + int itpos218 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction214].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos218]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10712; + fra.me.meth = LOCATE_parser___ReduceAction214___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10712 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos218] = 1; + return; +} +void parser___ReduceAction215___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10716; + fra.me.meth = LOCATE_parser___ReduceAction215___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10727 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10727); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10729 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10729); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10731 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10731); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:10733 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10733); + nit_exit(1); + } + fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10738 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10738); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10748 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction215___init(val_t p0, int* init_table){ + int itpos219 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction215].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos219]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10750; + fra.me.meth = LOCATE_parser___ReduceAction215___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10750 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos219] = 1; + return; +} +void parser___ReduceAction216___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10754; + fra.me.meth = LOCATE_parser___ReduceAction216___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10765); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10767); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10769 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10769); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:10771 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10771); + nit_exit(1); + } + fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10776 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10776); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10786 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction216___init(val_t p0, int* init_table){ + int itpos220 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction216].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos220]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10788; + fra.me.meth = LOCATE_parser___ReduceAction216___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10788 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos220] = 1; + return; +} +void parser___ReduceAction217___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10792; + fra.me.meth = LOCATE_parser___ReduceAction217___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10803 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10803); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10805 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10805); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10807 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10807); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:10809 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10809); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10814 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10814); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10824 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction217___init(val_t p0, int* init_table){ + int itpos221 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction217].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos221]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10826; + fra.me.meth = LOCATE_parser___ReduceAction217___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10826 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos221] = 1; + return; +} +void parser___ReduceAction218___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10830; + fra.me.meth = LOCATE_parser___ReduceAction218___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10841 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10841); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10843 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10843); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10845 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10845); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:10847 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10847); + nit_exit(1); + } + fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10852 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10852); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10862 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction218___init(val_t p0, int* init_table){ + int itpos222 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction218].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos222]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10864; + fra.me.meth = LOCATE_parser___ReduceAction218___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10864 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos222] = 1; + return; +} +void parser___ReduceAction219___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10868; + fra.me.meth = LOCATE_parser___ReduceAction219___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10879 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10879); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10881 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10881); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10883 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10883); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:10885 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10885); + nit_exit(1); + } + fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10890 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10890); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10900 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction219___init(val_t p0, int* init_table){ + int itpos223 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction219].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos223]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10902; + fra.me.meth = LOCATE_parser___ReduceAction219___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10902 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos223] = 1; + return; +} +void parser___ReduceAction220___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10906; + fra.me.meth = LOCATE_parser___ReduceAction220___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10917 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10917); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10919 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10919); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10921 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10921); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:10923 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10923); + nit_exit(1); + } + fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10928 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10928); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10938 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction220___init(val_t p0, int* init_table){ + int itpos224 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction220].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos224]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10940; + fra.me.meth = LOCATE_parser___ReduceAction220___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10940 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos224] = 1; + return; +} +void parser___ReduceAction221___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10944; + fra.me.meth = LOCATE_parser___ReduceAction221___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10955 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10955); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10957 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10957); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10959 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10959); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:10961 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10961); + nit_exit(1); + } + fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:10966 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10966); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:10976 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction221___init(val_t p0, int* init_table){ + int itpos225 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction221].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos225]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10978; + fra.me.meth = LOCATE_parser___ReduceAction221___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:10978 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos225] = 1; + return; +} +void parser___ReduceAction222___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 10982; + fra.me.meth = LOCATE_parser___ReduceAction222___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:10993 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10993); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:10995 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10995); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:10997 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10997); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:10999 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 10999); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11004 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11004); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11014 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction222___init(val_t p0, int* init_table){ + int itpos226 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction222].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos226]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11016; + fra.me.meth = LOCATE_parser___ReduceAction222___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11016 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos226] = 1; + return; +} +void parser___ReduceAction223___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11020; + fra.me.meth = LOCATE_parser___ReduceAction223___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11031 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11031); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11033 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11033); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11035 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11035); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:11037 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11037); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11042 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11042); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11052 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction223___init(val_t p0, int* init_table){ + int itpos227 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction223].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos227]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11054; + fra.me.meth = LOCATE_parser___ReduceAction223___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11054 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos227] = 1; + return; +} +void parser___ReduceAction224___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11058; + fra.me.meth = LOCATE_parser___ReduceAction224___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11069 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11069); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11071 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11071); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11073 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11073); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:11075 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11075); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11080 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11080); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11090 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction224___init(val_t p0, int* init_table){ + int itpos228 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction224].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos228]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11092; + fra.me.meth = LOCATE_parser___ReduceAction224___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11092 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos228] = 1; + return; +} +void parser___ReduceAction225___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11096; + fra.me.meth = LOCATE_parser___ReduceAction225___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11107 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11107); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11109 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11109); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11111 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11111); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:11113 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11113); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11118 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11118); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11128 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction225___init(val_t p0, int* init_table){ + int itpos229 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction225].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos229]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11130; + fra.me.meth = LOCATE_parser___ReduceAction225___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11130 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos229] = 1; + return; +} +void parser___ReduceAction226___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11134; + fra.me.meth = LOCATE_parser___ReduceAction226___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11146 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11146); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11148 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11148); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11150 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11150); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:11152 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11152); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:11154 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11154); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11160 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11160); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11170 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction226___init(val_t p0, int* init_table){ + int itpos230 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction226].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos230]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11172; + fra.me.meth = LOCATE_parser___ReduceAction226___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11172 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos230] = 1; + return; +} +void parser___ReduceAction227___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11176; + fra.me.meth = LOCATE_parser___ReduceAction227___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11187 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11187); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11189); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11191 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11191); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:11193 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11193); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11198 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11198); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11208 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction227___init(val_t p0, int* init_table){ + int itpos231 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction227].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos231]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11210; + fra.me.meth = LOCATE_parser___ReduceAction227___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11210 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos231] = 1; + return; +} +void parser___ReduceAction228___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11214; + fra.me.meth = LOCATE_parser___ReduceAction228___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11226 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11226); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11228 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11228); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11230 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11230); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:11232 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11232); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:11234 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11234); + nit_exit(1); + } + fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11240 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11240); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11250 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction228___init(val_t p0, int* init_table){ + int itpos232 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction228].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos232]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11252; + fra.me.meth = LOCATE_parser___ReduceAction228___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11252 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos232] = 1; + return; +} +void parser___ReduceAction229___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11256; + fra.me.meth = LOCATE_parser___ReduceAction229___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11269 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11269); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11271 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11271); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11273 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11273); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:11275 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11275); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:11277 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11277); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:11279 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11279); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11286 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11286); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11296 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction229___init(val_t p0, int* init_table){ + int itpos233 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction229].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos233]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11298; + fra.me.meth = LOCATE_parser___ReduceAction229___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11298 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos233] = 1; + return; +} +void parser___ReduceAction230___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11302; + fra.me.meth = LOCATE_parser___ReduceAction230___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11314 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11314); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11316 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11316); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11318); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11320); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:11322 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11322); + nit_exit(1); + } + fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11327 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11327); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11337 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction230___init(val_t p0, int* init_table){ + int itpos234 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction230].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos234]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11339; + fra.me.meth = LOCATE_parser___ReduceAction230___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11339 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos234] = 1; + return; +} +void parser___ReduceAction231___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11343; + fra.me.meth = LOCATE_parser___ReduceAction231___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11355 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11355); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11357 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11357); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11359 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11359); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11361 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11361); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:11363 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11363); + nit_exit(1); + } + fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11368 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11368); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11378 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction231___init(val_t p0, int* init_table){ + int itpos235 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction231].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos235]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11380; + fra.me.meth = LOCATE_parser___ReduceAction231___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11380 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos235] = 1; + return; +} +void parser___ReduceAction232___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11384; + fra.me.meth = LOCATE_parser___ReduceAction232___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11396 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11396); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11398 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11398); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11400 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11400); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11402 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11402); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:11404 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11404); + nit_exit(1); + } + fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11409 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11409); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11419 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction232___init(val_t p0, int* init_table){ + int itpos236 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction232].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos236]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11421; + fra.me.meth = LOCATE_parser___ReduceAction232___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11421 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos236] = 1; + return; +} +void parser___ReduceAction233___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11425; + fra.me.meth = LOCATE_parser___ReduceAction233___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11437 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11437); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11439 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11439); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11441 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11441); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11443 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11443); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:11445 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11445); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11450 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11450); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11460 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction233___init(val_t p0, int* init_table){ + int itpos237 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction233].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos237]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11462; + fra.me.meth = LOCATE_parser___ReduceAction233___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11462 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos237] = 1; + return; +} +void parser___ReduceAction234___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11466; + fra.me.meth = LOCATE_parser___ReduceAction234___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11478 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11478); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11480 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11480); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11482 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11482); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11484 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11484); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:11486 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11486); + nit_exit(1); + } + fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11491 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11491); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11501 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction234___init(val_t p0, int* init_table){ + int itpos238 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction234].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos238]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11503; + fra.me.meth = LOCATE_parser___ReduceAction234___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11503 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos238] = 1; + return; +} +void parser___ReduceAction235___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11507; + fra.me.meth = LOCATE_parser___ReduceAction235___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11519 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11519); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11521 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11521); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11523 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11523); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11525 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11525); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:11527 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11527); + nit_exit(1); + } + fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11532 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11532); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11542 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction235___init(val_t p0, int* init_table){ + int itpos239 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction235].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos239]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11544; + fra.me.meth = LOCATE_parser___ReduceAction235___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11544 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos239] = 1; + return; +} +void parser___ReduceAction236___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11548; + fra.me.meth = LOCATE_parser___ReduceAction236___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11560 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11560); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11562 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11562); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11564 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11564); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11566 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11566); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:11568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11568); + nit_exit(1); + } + fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11573 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11573); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11583 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction236___init(val_t p0, int* init_table){ + int itpos240 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction236].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos240]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11585; + fra.me.meth = LOCATE_parser___ReduceAction236___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11585 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos240] = 1; + return; +} +void parser___ReduceAction237___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11589; + fra.me.meth = LOCATE_parser___ReduceAction237___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11601 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11601); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11603 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11603); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11605 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11605); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11607 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11607); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:11609 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11609); + nit_exit(1); + } + fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11614 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11614); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11624 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction237___init(val_t p0, int* init_table){ + int itpos241 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction237].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos241]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11626; + fra.me.meth = LOCATE_parser___ReduceAction237___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11626 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos241] = 1; + return; +} +void parser___ReduceAction238___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11630; + fra.me.meth = LOCATE_parser___ReduceAction238___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11642 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11642); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11644 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11644); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11646 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11646); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11648 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11648); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:11650 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11650); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11655 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11655); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11665 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction238___init(val_t p0, int* init_table){ + int itpos242 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction238].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos242]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11667; + fra.me.meth = LOCATE_parser___ReduceAction238___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11667 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos242] = 1; + return; +} +void parser___ReduceAction239___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11671; + fra.me.meth = LOCATE_parser___ReduceAction239___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11683 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11683); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11685 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11685); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11687 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11687); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11689 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11689); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:11691 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11691); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11696 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11696); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11706 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction239___init(val_t p0, int* init_table){ + int itpos243 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction239].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos243]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11708; + fra.me.meth = LOCATE_parser___ReduceAction239___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11708 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos243] = 1; + return; +} +void parser___ReduceAction240___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11712; + fra.me.meth = LOCATE_parser___ReduceAction240___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11724 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11724); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11726 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11726); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11728 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11728); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11730 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11730); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:11732 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11732); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11737 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11737); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11747 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction240___init(val_t p0, int* init_table){ + int itpos244 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction240].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos244]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11749; + fra.me.meth = LOCATE_parser___ReduceAction240___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11749 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos244] = 1; + return; +} +void parser___ReduceAction241___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11753; + fra.me.meth = LOCATE_parser___ReduceAction241___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11765); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11767); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11769 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11769); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11771 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11771); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:11773 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11773); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11778 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11778); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11788 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction241___init(val_t p0, int* init_table){ + int itpos245 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction241].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos245]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11790; + fra.me.meth = LOCATE_parser___ReduceAction241___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11790 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos245] = 1; + return; +} +void parser___ReduceAction242___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11794; + fra.me.meth = LOCATE_parser___ReduceAction242___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11807 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11807); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11809 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11809); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11811 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11811); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11813 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11813); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:11815 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11815); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:11817 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11817); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11823 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11823); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11833 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction242___init(val_t p0, int* init_table){ + int itpos246 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction242].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos246]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11835; + fra.me.meth = LOCATE_parser___ReduceAction242___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11835 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos246] = 1; + return; +} +void parser___ReduceAction243___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11839; + fra.me.meth = LOCATE_parser___ReduceAction243___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11851 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11851); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11853 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11853); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11855 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11855); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11857 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11857); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:11859 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11859); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11864 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11864); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11874 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction243___init(val_t p0, int* init_table){ + int itpos247 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction243].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos247]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11876; + fra.me.meth = LOCATE_parser___ReduceAction243___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11876 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos247] = 1; + return; +} +void parser___ReduceAction244___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11880; + fra.me.meth = LOCATE_parser___ReduceAction244___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11893 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11893); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11895 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11895); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11897 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11897); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11899 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11899); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:11901 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11901); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:11903 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11903); + nit_exit(1); + } + fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11909 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11909); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11919 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction244___init(val_t p0, int* init_table){ + int itpos248 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction244].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos248]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11921; + fra.me.meth = LOCATE_parser___ReduceAction244___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11921 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos248] = 1; + return; +} +void parser___ReduceAction245___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11925; + fra.me.meth = LOCATE_parser___ReduceAction245___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11939 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11939); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:11941 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11941); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11943 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11943); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11945 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11945); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:11947 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11947); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:11949 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11949); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:11951 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11951); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11958 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11958); + nit_exit(1); + } + fra.me.REG[2] = NEW_AInternMethPropdef_parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:11968 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction245___init(val_t p0, int* init_table){ + int itpos249 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction245].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos249]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11970; + fra.me.meth = LOCATE_parser___ReduceAction245___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:11970 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos249] = 1; + return; +} +void parser___ReduceAction246___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 11974; + fra.me.meth = LOCATE_parser___ReduceAction246___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:11985 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11985); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:11987 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11987); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:11989 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11989); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:11991 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11991); + nit_exit(1); + } + fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:11996 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 11996); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12007 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction246___init(val_t p0, int* init_table){ + int itpos250 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction246].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos250]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12009; + fra.me.meth = LOCATE_parser___ReduceAction246___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12009 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos250] = 1; + return; +} +void parser___ReduceAction247___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12013; + fra.me.meth = LOCATE_parser___ReduceAction247___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12024 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12024); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12026 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12026); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12028 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12028); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:12030 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12030); + nit_exit(1); + } + fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12035 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12035); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12046 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction247___init(val_t p0, int* init_table){ + int itpos251 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction247].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos251]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12048; + fra.me.meth = LOCATE_parser___ReduceAction247___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12048 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos251] = 1; + return; +} +void parser___ReduceAction248___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12052; + fra.me.meth = LOCATE_parser___ReduceAction248___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12063); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12065 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12065); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12067 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12067); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:12069 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12069); + nit_exit(1); + } + fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12074 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12074); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12085 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction248___init(val_t p0, int* init_table){ + int itpos252 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction248].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos252]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12087; + fra.me.meth = LOCATE_parser___ReduceAction248___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12087 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos252] = 1; + return; +} +void parser___ReduceAction249___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12091; + fra.me.meth = LOCATE_parser___ReduceAction249___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12102 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12102); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12104 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12104); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12106 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12106); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:12108 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12108); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12113 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12113); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12124 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction249___init(val_t p0, int* init_table){ + int itpos253 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction249].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos253]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12126; + fra.me.meth = LOCATE_parser___ReduceAction249___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12126 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos253] = 1; + return; +} +void parser___ReduceAction250___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12130; + fra.me.meth = LOCATE_parser___ReduceAction250___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12141 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12141); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12143 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12143); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12145 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12145); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:12147 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12147); + nit_exit(1); + } + fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12152 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12152); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12163 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction250___init(val_t p0, int* init_table){ + int itpos254 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction250].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos254]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12165; + fra.me.meth = LOCATE_parser___ReduceAction250___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12165 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos254] = 1; + return; +} +void parser___ReduceAction251___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12169; + fra.me.meth = LOCATE_parser___ReduceAction251___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12180 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12180); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12182 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12182); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12184 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12184); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:12186 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12186); + nit_exit(1); + } + fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12191 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12191); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12202 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction251___init(val_t p0, int* init_table){ + int itpos255 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction251].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos255]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12204; + fra.me.meth = LOCATE_parser___ReduceAction251___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12204 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos255] = 1; + return; +} +void parser___ReduceAction252___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12208; + fra.me.meth = LOCATE_parser___ReduceAction252___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12219 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12219); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12221 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12221); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12223 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12223); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:12225 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12225); + nit_exit(1); + } + fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12230 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12230); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12241 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction252___init(val_t p0, int* init_table){ + int itpos256 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction252].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos256]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12243; + fra.me.meth = LOCATE_parser___ReduceAction252___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12243 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos256] = 1; + return; +} +void parser___ReduceAction253___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12247; + fra.me.meth = LOCATE_parser___ReduceAction253___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12258 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12258); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12260 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12260); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12262 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12262); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:12264 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12264); + nit_exit(1); + } + fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12269 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12269); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12280 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction253___init(val_t p0, int* init_table){ + int itpos257 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction253].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos257]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12282; + fra.me.meth = LOCATE_parser___ReduceAction253___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12282 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos257] = 1; + return; +} +void parser___ReduceAction254___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12286; + fra.me.meth = LOCATE_parser___ReduceAction254___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12297 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12297); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12299 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12299); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12301 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12301); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:12303 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12303); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12308 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12308); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12319 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction254___init(val_t p0, int* init_table){ + int itpos258 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction254].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos258]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12321; + fra.me.meth = LOCATE_parser___ReduceAction254___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12321 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos258] = 1; + return; +} +void parser___ReduceAction255___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12325; + fra.me.meth = LOCATE_parser___ReduceAction255___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12336 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12336); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12338 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12338); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12340 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12340); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:12342 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12342); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12347 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12347); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12358 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction255___init(val_t p0, int* init_table){ + int itpos259 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction255].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos259]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12360; + fra.me.meth = LOCATE_parser___ReduceAction255___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12360 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos259] = 1; + return; +} +void parser___ReduceAction256___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12364; + fra.me.meth = LOCATE_parser___ReduceAction256___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12375 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12375); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12377 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12377); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12379 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12379); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:12381 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12381); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12386 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12386); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12397 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction256___init(val_t p0, int* init_table){ + int itpos260 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction256].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos260]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12399; + fra.me.meth = LOCATE_parser___ReduceAction256___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12399 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos260] = 1; + return; +} +void parser___ReduceAction257___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12403; + fra.me.meth = LOCATE_parser___ReduceAction257___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12414 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12414); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12416 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12416); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12418 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12418); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:12420 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12420); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12425 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12425); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12436 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction257___init(val_t p0, int* init_table){ + int itpos261 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction257].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos261]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12438; + fra.me.meth = LOCATE_parser___ReduceAction257___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12438 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos261] = 1; + return; +} +void parser___ReduceAction258___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12442; + fra.me.meth = LOCATE_parser___ReduceAction258___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12454 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12454); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12456 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12456); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12458 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12458); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:12460 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12460); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:12462 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12462); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12468 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12468); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12479 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction258___init(val_t p0, int* init_table){ + int itpos262 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction258].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos262]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12481; + fra.me.meth = LOCATE_parser___ReduceAction258___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12481 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos262] = 1; + return; +} +void parser___ReduceAction259___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12485; + fra.me.meth = LOCATE_parser___ReduceAction259___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12496 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12496); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12498 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12498); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12500 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12500); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:12502 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12502); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12507 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12507); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12518 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction259___init(val_t p0, int* init_table){ + int itpos263 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction259].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos263]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12520; + fra.me.meth = LOCATE_parser___ReduceAction259___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12520 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos263] = 1; + return; +} +void parser___ReduceAction260___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12524; + fra.me.meth = LOCATE_parser___ReduceAction260___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12536 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12536); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12538 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12538); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12540 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12540); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:12542 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12542); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:12544 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12544); + nit_exit(1); + } + fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12550 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12550); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12561 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction260___init(val_t p0, int* init_table){ + int itpos264 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction260].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos264]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12563; + fra.me.meth = LOCATE_parser___ReduceAction260___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12563 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos264] = 1; + return; +} +void parser___ReduceAction261___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12567; + fra.me.meth = LOCATE_parser___ReduceAction261___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12580 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12580); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12582 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12582); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12584 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12584); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:12586 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12586); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:12588 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12588); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:12590 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12590); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12597 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12597); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12608 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction261___init(val_t p0, int* init_table){ + int itpos265 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction261].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos265]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12610; + fra.me.meth = LOCATE_parser___ReduceAction261___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12610 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos265] = 1; + return; +} +void parser___ReduceAction262___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12614; + fra.me.meth = LOCATE_parser___ReduceAction262___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12626 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12626); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:12628 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12628); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12630 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12630); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12632 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12632); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:12634 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12634); + nit_exit(1); + } + fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12639 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12639); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12650 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction262___init(val_t p0, int* init_table){ + int itpos266 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction262].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos266]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12652; + fra.me.meth = LOCATE_parser___ReduceAction262___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12652 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos266] = 1; + return; +} +void parser___ReduceAction263___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12656; + fra.me.meth = LOCATE_parser___ReduceAction263___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12668 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12668); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:12670 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12670); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12672 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12672); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12674 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12674); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:12676 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12676); + nit_exit(1); + } + fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12681 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12681); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12692 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction263___init(val_t p0, int* init_table){ + int itpos267 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction263].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos267]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12694; + fra.me.meth = LOCATE_parser___ReduceAction263___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12694 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos267] = 1; + return; +} +void parser___ReduceAction264___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12698; + fra.me.meth = LOCATE_parser___ReduceAction264___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12710 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12710); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:12712 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12712); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12714 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12714); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12716 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12716); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:12718 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12718); + nit_exit(1); + } + fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12723 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12723); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12734 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction264___init(val_t p0, int* init_table){ + int itpos268 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction264].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos268]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12736; + fra.me.meth = LOCATE_parser___ReduceAction264___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12736 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos268] = 1; + return; +} +void parser___ReduceAction265___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12740; + fra.me.meth = LOCATE_parser___ReduceAction265___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12752 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12752); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:12754 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12754); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12756 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12756); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12758 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12758); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:12760 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12760); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12765); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12776 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction265___init(val_t p0, int* init_table){ + int itpos269 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction265].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos269]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12778; + fra.me.meth = LOCATE_parser___ReduceAction265___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12778 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos269] = 1; + return; +} +void parser___ReduceAction266___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12782; + fra.me.meth = LOCATE_parser___ReduceAction266___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12794 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12794); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:12796 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12796); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12798 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12798); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12800 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12800); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:12802 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12802); + nit_exit(1); + } + fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12807 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12807); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12818 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction266___init(val_t p0, int* init_table){ + int itpos270 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction266].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos270]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12820; + fra.me.meth = LOCATE_parser___ReduceAction266___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12820 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos270] = 1; + return; +} +void parser___ReduceAction267___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12824; + fra.me.meth = LOCATE_parser___ReduceAction267___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12836 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12836); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:12838 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12838); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12840 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12840); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12842 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12842); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:12844 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12844); + nit_exit(1); + } + fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12849 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12849); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12860 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction267___init(val_t p0, int* init_table){ + int itpos271 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction267].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos271]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12862; + fra.me.meth = LOCATE_parser___ReduceAction267___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12862 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos271] = 1; + return; +} +void parser___ReduceAction268___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12866; + fra.me.meth = LOCATE_parser___ReduceAction268___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12878 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12878); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:12880 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12880); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12882 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12882); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12884 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12884); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:12886 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12886); + nit_exit(1); + } + fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12891 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12891); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12902 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction268___init(val_t p0, int* init_table){ + int itpos272 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction268].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos272]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12904; + fra.me.meth = LOCATE_parser___ReduceAction268___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12904 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos272] = 1; + return; +} +void parser___ReduceAction269___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12908; + fra.me.meth = LOCATE_parser___ReduceAction269___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12920 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12920); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:12922 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12922); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12924 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12924); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12926 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12926); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:12928 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12928); + nit_exit(1); + } + fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12933 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12933); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12944 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction269___init(val_t p0, int* init_table){ + int itpos273 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction269].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos273]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12946; + fra.me.meth = LOCATE_parser___ReduceAction269___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12946 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos273] = 1; + return; +} +void parser___ReduceAction270___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12950; + fra.me.meth = LOCATE_parser___ReduceAction270___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:12962 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12962); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:12964 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12964); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:12966 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12966); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:12968 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12968); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:12970 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12970); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:12975 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 12975); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:12986 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction270___init(val_t p0, int* init_table){ + int itpos274 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction270].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos274]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12988; + fra.me.meth = LOCATE_parser___ReduceAction270___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:12988 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos274] = 1; + return; +} +void parser___ReduceAction271___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 12992; + fra.me.meth = LOCATE_parser___ReduceAction271___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13004 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13004); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:13006 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13006); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13008 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13008); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13010 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13010); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:13012 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13012); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13017 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13017); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13028 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction271___init(val_t p0, int* init_table){ + int itpos275 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction271].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos275]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13030; + fra.me.meth = LOCATE_parser___ReduceAction271___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13030 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos275] = 1; + return; +} +void parser___ReduceAction272___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13034; + fra.me.meth = LOCATE_parser___ReduceAction272___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13046 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13046); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:13048 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13048); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13050 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13050); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13052 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13052); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:13054 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13054); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13059 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13059); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13070 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction272___init(val_t p0, int* init_table){ + int itpos276 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction272].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos276]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13072; + fra.me.meth = LOCATE_parser___ReduceAction272___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13072 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos276] = 1; + return; +} +void parser___ReduceAction273___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13076; + fra.me.meth = LOCATE_parser___ReduceAction273___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13088 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13088); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:13090 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13090); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13092 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13092); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13094 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13094); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:13096 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13096); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13101 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13101); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13112 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction273___init(val_t p0, int* init_table){ + int itpos277 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction273].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos277]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13114; + fra.me.meth = LOCATE_parser___ReduceAction273___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13114 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos277] = 1; + return; +} +void parser___ReduceAction274___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13118; + fra.me.meth = LOCATE_parser___ReduceAction274___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13131 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13131); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:13133 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13133); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13135 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13135); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13137 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13137); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:13139 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13139); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:13141 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13141); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13147 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13147); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13158 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction274___init(val_t p0, int* init_table){ + int itpos278 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction274].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos278]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13160; + fra.me.meth = LOCATE_parser___ReduceAction274___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13160 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos278] = 1; + return; +} +void parser___ReduceAction275___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13164; + fra.me.meth = LOCATE_parser___ReduceAction275___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13176 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13176); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:13178 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13178); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13180 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13180); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13182 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13182); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:13184 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13184); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13189); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13200 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction275___init(val_t p0, int* init_table){ + int itpos279 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction275].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos279]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13202; + fra.me.meth = LOCATE_parser___ReduceAction275___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13202 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos279] = 1; + return; +} +void parser___ReduceAction276___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13206; + fra.me.meth = LOCATE_parser___ReduceAction276___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13219 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13219); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:13221 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13221); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13223 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13223); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13225 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13225); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:13227 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13227); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:13229 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13229); + nit_exit(1); + } + fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13235 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13235); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13246 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction276___init(val_t p0, int* init_table){ + int itpos280 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction276].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos280]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13248; + fra.me.meth = LOCATE_parser___ReduceAction276___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13248 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos280] = 1; + return; +} +void parser___ReduceAction277___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13252; + fra.me.meth = LOCATE_parser___ReduceAction277___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13266 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13266); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:13268 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13268); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13270 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13270); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13272 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13272); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:13274 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13274); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:13276 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13276); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:13278 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13278); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13285 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13285); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13296 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction277___init(val_t p0, int* init_table){ + int itpos281 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction277].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos281]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13298; + fra.me.meth = LOCATE_parser___ReduceAction277___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13298 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos281] = 1; + return; +} +void parser___ReduceAction278___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13302; + fra.me.meth = LOCATE_parser___ReduceAction278___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13314 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13314); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13316 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13316); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13318); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:13320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13320); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13325 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13325); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13327 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13327); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13338 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction278___init(val_t p0, int* init_table){ + int itpos282 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction278].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos282]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13340; + fra.me.meth = LOCATE_parser___ReduceAction278___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13340 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos282] = 1; + return; +} +void parser___ReduceAction279___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13344; + fra.me.meth = LOCATE_parser___ReduceAction279___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13356 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13356); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13358 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13358); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13360 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13360); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:13362 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13362); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13367 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13367); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13369 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13369); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13380 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction279___init(val_t p0, int* init_table){ + int itpos283 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction279].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos283]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13382; + fra.me.meth = LOCATE_parser___ReduceAction279___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13382 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos283] = 1; + return; +} +void parser___ReduceAction280___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13386; + fra.me.meth = LOCATE_parser___ReduceAction280___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13398 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13398); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13400 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13400); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13402 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13402); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:13404 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13404); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13409 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13409); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13411 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13411); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13422 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction280___init(val_t p0, int* init_table){ + int itpos284 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction280].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos284]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13424; + fra.me.meth = LOCATE_parser___ReduceAction280___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13424 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos284] = 1; + return; +} +void parser___ReduceAction281___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13428; + fra.me.meth = LOCATE_parser___ReduceAction281___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13440 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13440); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13442 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13442); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13444 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13444); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:13446 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13446); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13451 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13451); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13453 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13453); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13464 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction281___init(val_t p0, int* init_table){ + int itpos285 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction281].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos285]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13466; + fra.me.meth = LOCATE_parser___ReduceAction281___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13466 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos285] = 1; + return; +} +void parser___ReduceAction282___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13470; + fra.me.meth = LOCATE_parser___ReduceAction282___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13482 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13482); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13484 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13484); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13486 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13486); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:13488 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13488); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13493 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13493); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13495 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13495); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13506 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction282___init(val_t p0, int* init_table){ + int itpos286 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction282].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos286]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13508; + fra.me.meth = LOCATE_parser___ReduceAction282___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13508 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos286] = 1; + return; +} +void parser___ReduceAction283___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13512; + fra.me.meth = LOCATE_parser___ReduceAction283___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13524 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13524); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13526 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13526); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13528 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13528); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:13530 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13530); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13535 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13535); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13537 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13537); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13548 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction283___init(val_t p0, int* init_table){ + int itpos287 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction283].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos287]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13550; + fra.me.meth = LOCATE_parser___ReduceAction283___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13550 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos287] = 1; + return; +} +void parser___ReduceAction284___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13554; + fra.me.meth = LOCATE_parser___ReduceAction284___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13566 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13566); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13568); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13570 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13570); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:13572 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13572); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13577 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13577); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13579 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13579); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13590 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction284___init(val_t p0, int* init_table){ + int itpos288 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction284].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos288]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13592; + fra.me.meth = LOCATE_parser___ReduceAction284___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13592 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos288] = 1; + return; +} +void parser___ReduceAction285___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13596; + fra.me.meth = LOCATE_parser___ReduceAction285___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13608 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13608); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13610 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13610); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13612 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13612); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:13614 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13614); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13619 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13619); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13621 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13621); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13632 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction285___init(val_t p0, int* init_table){ + int itpos289 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction285].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos289]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13634; + fra.me.meth = LOCATE_parser___ReduceAction285___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13634 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos289] = 1; + return; +} +void parser___ReduceAction286___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13638; + fra.me.meth = LOCATE_parser___ReduceAction286___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13650 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13650); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13652 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13652); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13654 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13654); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:13656 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13656); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13661 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13661); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13663 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13663); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13674 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction286___init(val_t p0, int* init_table){ + int itpos290 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction286].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos290]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13676; + fra.me.meth = LOCATE_parser___ReduceAction286___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13676 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos290] = 1; + return; +} +void parser___ReduceAction287___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13680; + fra.me.meth = LOCATE_parser___ReduceAction287___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13692 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13692); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13694 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13694); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13696 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13696); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:13698 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13698); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13703 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13703); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13705 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13705); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13716 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction287___init(val_t p0, int* init_table){ + int itpos291 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction287].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos291]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13718; + fra.me.meth = LOCATE_parser___ReduceAction287___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13718 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos291] = 1; + return; +} +void parser___ReduceAction288___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13722; + fra.me.meth = LOCATE_parser___ReduceAction288___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13734 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13734); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13736 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13736); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13738 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13738); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:13740 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13740); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13745 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13745); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13747 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13747); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13758 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction288___init(val_t p0, int* init_table){ + int itpos292 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction288].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos292]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13760; + fra.me.meth = LOCATE_parser___ReduceAction288___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13760 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos292] = 1; + return; +} +void parser___ReduceAction289___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13764; + fra.me.meth = LOCATE_parser___ReduceAction289___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13776 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13776); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13778 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13778); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13780 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13780); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:13782 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13782); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13787 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13787); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13789 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13789); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13800 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction289___init(val_t p0, int* init_table){ + int itpos293 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction289].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos293]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13802; + fra.me.meth = LOCATE_parser___ReduceAction289___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13802 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos293] = 1; + return; +} +void parser___ReduceAction290___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13806; + fra.me.meth = LOCATE_parser___ReduceAction290___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13819 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13819); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13821 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13821); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13823 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13823); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:13825 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13825); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:13827 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13827); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13833 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13833); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13835 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13835); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13846 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction290___init(val_t p0, int* init_table){ + int itpos294 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction290].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos294]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13848; + fra.me.meth = LOCATE_parser___ReduceAction290___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13848 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos294] = 1; + return; +} +void parser___ReduceAction291___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13852; + fra.me.meth = LOCATE_parser___ReduceAction291___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13864 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13864); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13866 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13866); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13868 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13868); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:13870 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13870); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13875 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13875); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13877 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13877); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13888 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction291___init(val_t p0, int* init_table){ + int itpos295 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction291].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos295]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13890; + fra.me.meth = LOCATE_parser___ReduceAction291___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13890 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos295] = 1; + return; +} +void parser___ReduceAction292___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13894; + fra.me.meth = LOCATE_parser___ReduceAction292___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13907 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13907); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13909 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13909); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13911 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13911); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:13913 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13913); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:13915 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13915); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13921 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13921); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13923 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13923); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13934 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction292___init(val_t p0, int* init_table){ + int itpos296 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction292].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos296]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13936; + fra.me.meth = LOCATE_parser___ReduceAction292___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13936 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos296] = 1; + return; +} +void parser___ReduceAction293___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13940; + fra.me.meth = LOCATE_parser___ReduceAction293___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:13954 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13954); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:13956 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13956); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:13958 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13958); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:13960 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13960); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:13962 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13962); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:13964 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13964); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:13971 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13971); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:13973 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 13973); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:13984 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction293___init(val_t p0, int* init_table){ + int itpos297 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction293].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos297]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13986; + fra.me.meth = LOCATE_parser___ReduceAction293___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:13986 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos297] = 1; + return; +} +void parser___ReduceAction294___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 13990; + fra.me.meth = LOCATE_parser___ReduceAction294___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14003 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14003); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14005 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14005); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14007 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14007); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14009 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14009); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:14011 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14011); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14016 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14016); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14018 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14018); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14029 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction294___init(val_t p0, int* init_table){ + int itpos298 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction294].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos298]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14031; + fra.me.meth = LOCATE_parser___ReduceAction294___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14031 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos298] = 1; + return; +} +void parser___ReduceAction295___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14035; + fra.me.meth = LOCATE_parser___ReduceAction295___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14048 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14048); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14050 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14050); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14052 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14052); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14054 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14054); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:14056 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14056); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14061 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14061); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14063); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14074 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction295___init(val_t p0, int* init_table){ + int itpos299 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction295].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos299]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14076; + fra.me.meth = LOCATE_parser___ReduceAction295___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14076 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos299] = 1; + return; +} +void parser___ReduceAction296___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14080; + fra.me.meth = LOCATE_parser___ReduceAction296___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14093 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14093); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14095 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14095); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14097 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14097); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14099 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14099); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:14101 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14101); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14106 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14106); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14108 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14108); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14119 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction296___init(val_t p0, int* init_table){ + int itpos300 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction296].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos300]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14121; + fra.me.meth = LOCATE_parser___ReduceAction296___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14121 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos300] = 1; + return; +} +void parser___ReduceAction297___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14125; + fra.me.meth = LOCATE_parser___ReduceAction297___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14138 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14138); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14140 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14140); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14142 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14142); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14144 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14144); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:14146 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14146); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14151 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14151); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14153 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14153); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14164 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction297___init(val_t p0, int* init_table){ + int itpos301 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction297].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos301]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14166; + fra.me.meth = LOCATE_parser___ReduceAction297___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14166 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos301] = 1; + return; +} +void parser___ReduceAction298___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14170; + fra.me.meth = LOCATE_parser___ReduceAction298___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14183 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14183); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14185 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14185); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14187 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14187); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14189); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:14191 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14191); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14196 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14196); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14198 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14198); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14209 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction298___init(val_t p0, int* init_table){ + int itpos302 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction298].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos302]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14211; + fra.me.meth = LOCATE_parser___ReduceAction298___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14211 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos302] = 1; + return; +} +void parser___ReduceAction299___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14215; + fra.me.meth = LOCATE_parser___ReduceAction299___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14228 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14228); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14230 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14230); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14232 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14232); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14234 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14234); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:14236 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14236); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14241 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14241); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14243 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14243); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14254 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction299___init(val_t p0, int* init_table){ + int itpos303 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction299].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos303]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14256; + fra.me.meth = LOCATE_parser___ReduceAction299___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14256 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos303] = 1; + return; +} +void parser___ReduceAction300___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14260; + fra.me.meth = LOCATE_parser___ReduceAction300___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14273 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14273); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14275 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14275); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14277 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14277); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14279 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14279); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:14281 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14281); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14286 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14286); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14288 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14288); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14299 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction300___init(val_t p0, int* init_table){ + int itpos304 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction300].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos304]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14301; + fra.me.meth = LOCATE_parser___ReduceAction300___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14301 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos304] = 1; + return; +} +void parser___ReduceAction301___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14305; + fra.me.meth = LOCATE_parser___ReduceAction301___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14318); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14320); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14322 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14322); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14324 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14324); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:14326 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14326); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14331 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14331); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14333 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14333); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14344 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction301___init(val_t p0, int* init_table){ + int itpos305 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction301].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos305]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14346; + fra.me.meth = LOCATE_parser___ReduceAction301___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14346 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos305] = 1; + return; +} +void parser___ReduceAction302___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14350; + fra.me.meth = LOCATE_parser___ReduceAction302___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14363 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14363); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14365 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14365); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14367 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14367); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14369 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14369); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:14371 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14371); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14376 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14376); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14378 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14378); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14389 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction302___init(val_t p0, int* init_table){ + int itpos306 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction302].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos306]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14391; + fra.me.meth = LOCATE_parser___ReduceAction302___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14391 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos306] = 1; + return; +} +void parser___ReduceAction303___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14395; + fra.me.meth = LOCATE_parser___ReduceAction303___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14408 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14408); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14410 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14410); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14412 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14412); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14414 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14414); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:14416 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14416); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14421 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14421); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14423 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14423); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14434 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction303___init(val_t p0, int* init_table){ + int itpos307 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction303].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos307]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14436; + fra.me.meth = LOCATE_parser___ReduceAction303___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14436 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos307] = 1; + return; +} +void parser___ReduceAction304___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14440; + fra.me.meth = LOCATE_parser___ReduceAction304___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14453 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14453); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14455 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14455); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14457 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14457); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14459 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14459); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:14461 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14461); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14466 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14466); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14468 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14468); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14479 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction304___init(val_t p0, int* init_table){ + int itpos308 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction304].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos308]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14481; + fra.me.meth = LOCATE_parser___ReduceAction304___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14481 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos308] = 1; + return; +} +void parser___ReduceAction305___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14485; + fra.me.meth = LOCATE_parser___ReduceAction305___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14498 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14498); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14500 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14500); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14502 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14502); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14504 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14504); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:14506 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14506); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14511 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14511); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14513 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14513); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14524 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction305___init(val_t p0, int* init_table){ + int itpos309 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction305].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos309]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14526; + fra.me.meth = LOCATE_parser___ReduceAction305___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14526 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos309] = 1; + return; +} +void parser___ReduceAction306___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14530; + fra.me.meth = LOCATE_parser___ReduceAction306___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14544 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14544); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14546 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14546); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14548 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14548); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14550 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14550); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:14552 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14552); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:14554 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14554); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14560 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14560); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14562 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14562); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14573 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction306___init(val_t p0, int* init_table){ + int itpos310 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction306].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos310]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14575; + fra.me.meth = LOCATE_parser___ReduceAction306___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14575 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos310] = 1; + return; +} +void parser___ReduceAction307___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14579; + fra.me.meth = LOCATE_parser___ReduceAction307___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14592 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14592); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14594 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14594); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14596 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14596); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14598 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14598); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:14600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14600); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14605 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14605); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14607 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14607); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14618 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction307___init(val_t p0, int* init_table){ + int itpos311 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction307].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos311]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14620; + fra.me.meth = LOCATE_parser___ReduceAction307___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14620 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos311] = 1; + return; +} +void parser___ReduceAction308___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14624; + fra.me.meth = LOCATE_parser___ReduceAction308___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14638 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14638); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14640 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14640); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14642 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14642); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14644 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14644); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:14646 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14646); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:14648 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14648); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14654 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14654); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14656 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14656); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14667 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction308___init(val_t p0, int* init_table){ + int itpos312 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction308].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos312]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14669; + fra.me.meth = LOCATE_parser___ReduceAction308___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14669 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos312] = 1; + return; +} +void parser___ReduceAction309___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14673; + fra.me.meth = LOCATE_parser___ReduceAction309___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14688 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14688); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14690 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14690); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14692 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14692); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:14694 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14694); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:14696 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14696); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:14698 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14698); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:14700 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14700); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:14707 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14707); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:14709 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14709); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14720 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction309___init(val_t p0, int* init_table){ + int itpos313 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction309].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos313]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14722; + fra.me.meth = LOCATE_parser___ReduceAction309___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14722 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos313] = 1; + return; +} +void parser___ReduceAction310___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14726; + fra.me.meth = LOCATE_parser___ReduceAction310___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14736 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14736); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:14738 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14738); + nit_exit(1); + } + fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:14744 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14744); + nit_exit(1); + } + fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14750 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14750); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:14752 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14752); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:14754 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14754); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14767 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction310___init(val_t p0, int* init_table){ + int itpos314 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction310].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos314]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14769; + fra.me.meth = LOCATE_parser___ReduceAction310___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14769 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos314] = 1; + return; +} +void parser___ReduceAction311___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14773; + fra.me.meth = LOCATE_parser___ReduceAction311___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14784 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14784); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:14786 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14786); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14792 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14792); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:14794 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14794); + nit_exit(1); + } + fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[6], fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14800 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14800); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:14802 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14802); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:14804 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14804); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14817 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction311___init(val_t p0, int* init_table){ + int itpos315 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction311].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos315]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14819; + fra.me.meth = LOCATE_parser___ReduceAction311___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14819 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos315] = 1; + return; +} +void parser___ReduceAction312___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14823; + fra.me.meth = LOCATE_parser___ReduceAction312___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14832 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14832); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:14834 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14834); + nit_exit(1); + } + fra.me.REG[5] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14840 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14840); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:14842 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14842); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:14844 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14844); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], fra.me.REG[5], NIT_NULL, NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14857 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction312___init(val_t p0, int* init_table){ + int itpos316 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction312].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos316]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14859; + fra.me.meth = LOCATE_parser___ReduceAction312___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14859 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos316] = 1; + return; +} +void parser___ReduceAction313___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14863; + fra.me.meth = LOCATE_parser___ReduceAction313___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14874 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14874); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14876 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14876); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:14878 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14878); + nit_exit(1); + } + fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:14884 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14884); + nit_exit(1); + } + fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14890 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14890); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:14892 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14892); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:14894 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14894); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14907 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction313___init(val_t p0, int* init_table){ + int itpos317 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction313].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos317]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14909; + fra.me.meth = LOCATE_parser___ReduceAction313___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14909 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos317] = 1; + return; +} +void parser___ReduceAction314___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14913; + fra.me.meth = LOCATE_parser___ReduceAction314___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14925 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14925); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14927 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14927); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:14929 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14929); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14935 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14935); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:14937 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14937); + nit_exit(1); + } + fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[6], fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14943 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14943); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:14945 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14945); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:14947 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14947); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:14960 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction314___init(val_t p0, int* init_table){ + int itpos318 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction314].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos318]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14962; + fra.me.meth = LOCATE_parser___ReduceAction314___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:14962 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos318] = 1; + return; +} +void parser___ReduceAction315___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 14966; + fra.me.meth = LOCATE_parser___ReduceAction315___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:14976 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14976); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:14978 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14978); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:14980 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14980); + nit_exit(1); + } + fra.me.REG[5] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[6], fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:14986 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14986); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:14988 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14988); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:14990 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 14990); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[5], NIT_NULL, NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15003 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction315___init(val_t p0, int* init_table){ + int itpos319 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction315].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos319]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15005; + fra.me.meth = LOCATE_parser___ReduceAction315___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15005 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos319] = 1; + return; +} +void parser___ReduceAction316___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15009; + fra.me.meth = LOCATE_parser___ReduceAction316___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15018 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15018); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15020 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15020); + nit_exit(1); + } + fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15026 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15026); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15028 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15028); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15030 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15030); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15043 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction316___init(val_t p0, int* init_table){ + int itpos320 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction316].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos320]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15045; + fra.me.meth = LOCATE_parser___ReduceAction316___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15045 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos320] = 1; + return; +} +void parser___ReduceAction317___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15049; + fra.me.meth = LOCATE_parser___ReduceAction317___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15059 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15059); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15061 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15061); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15063); + nit_exit(1); + } + fra.me.REG[5] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[6], fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15069 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15069); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15071 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15071); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15073 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15073); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15086 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction317___init(val_t p0, int* init_table){ + int itpos321 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction317].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos321]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15088; + fra.me.meth = LOCATE_parser___ReduceAction317___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15088 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos321] = 1; + return; +} +void parser___ReduceAction318___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15092; + fra.me.meth = LOCATE_parser___ReduceAction318___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15100 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15100); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15102 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15102); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15104 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15104); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15106 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15106); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[5], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15119 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction318___init(val_t p0, int* init_table){ + int itpos322 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction318].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos322]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15121; + fra.me.meth = LOCATE_parser___ReduceAction318___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15121 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos322] = 1; + return; +} +void parser___ReduceAction319___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15125; + fra.me.meth = LOCATE_parser___ReduceAction319___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15136 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15136); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15138 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15138); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15144 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15144); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15150 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15150); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15152 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15152); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15154 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15154); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15156 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15156); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15169 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction319___init(val_t p0, int* init_table){ + int itpos323 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction319].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos323]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15171; + fra.me.meth = LOCATE_parser___ReduceAction319___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15171 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos323] = 1; + return; +} +void parser___ReduceAction320___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15175; + fra.me.meth = LOCATE_parser___ReduceAction320___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15187 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15187); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15189); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15195 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15195); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15197 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15197); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15203 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15203); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15205 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15205); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15207 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15207); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15209 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15209); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15222 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction320___init(val_t p0, int* init_table){ + int itpos324 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction320].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos324]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15224; + fra.me.meth = LOCATE_parser___ReduceAction320___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15224 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos324] = 1; + return; +} +void parser___ReduceAction321___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15228; + fra.me.meth = LOCATE_parser___ReduceAction321___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15238 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15238); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15240 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15240); + nit_exit(1); + } + fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15246 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15246); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15248 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15248); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15250 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15250); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15252 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15252); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15265 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction321___init(val_t p0, int* init_table){ + int itpos325 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction321].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos325]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15267; + fra.me.meth = LOCATE_parser___ReduceAction321___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15267 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos325] = 1; + return; +} +void parser___ReduceAction322___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15271; + fra.me.meth = LOCATE_parser___ReduceAction322___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15283 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15283); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15285 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15285); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15287 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15287); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15293 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15293); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15299 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15299); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15301 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15301); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15303 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15303); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15305 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15305); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15318 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction322___init(val_t p0, int* init_table){ + int itpos326 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction322].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos326]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15320; + fra.me.meth = LOCATE_parser___ReduceAction322___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15320 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos326] = 1; + return; +} +void parser___ReduceAction323___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15324; + fra.me.meth = LOCATE_parser___ReduceAction323___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15337 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15337); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15339 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15339); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15341 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15341); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15347 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15347); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15349 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15349); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15355 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15355); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15357 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15357); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15359 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15359); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15361 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15361); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15374 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction323___init(val_t p0, int* init_table){ + int itpos327 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction323].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos327]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15376; + fra.me.meth = LOCATE_parser___ReduceAction323___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15376 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos327] = 1; + return; +} +void parser___ReduceAction324___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15380; + fra.me.meth = LOCATE_parser___ReduceAction324___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15391 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15391); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15393 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15393); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15395 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15395); + nit_exit(1); + } + fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15401 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15401); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15403 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15403); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15405 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15405); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15407 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15407); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15420 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction324___init(val_t p0, int* init_table){ + int itpos328 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction324].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos328]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15422; + fra.me.meth = LOCATE_parser___ReduceAction324___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15422 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos328] = 1; + return; +} +void parser___ReduceAction325___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15426; + fra.me.meth = LOCATE_parser___ReduceAction325___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15436 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15436); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15438 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15438); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15444 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15444); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15446 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15446); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15448 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15448); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15450 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15450); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15463 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction325___init(val_t p0, int* init_table){ + int itpos329 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction325].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos329]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15465; + fra.me.meth = LOCATE_parser___ReduceAction325___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15465 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos329] = 1; + return; +} +void parser___ReduceAction326___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15469; + fra.me.meth = LOCATE_parser___ReduceAction326___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15480 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15480); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15482 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15482); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15484 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15484); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15490 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15490); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15492 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15492); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15494 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15494); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15496 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15496); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15509 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction326___init(val_t p0, int* init_table){ + int itpos330 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction326].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos330]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15511; + fra.me.meth = LOCATE_parser___ReduceAction326___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15511 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos330] = 1; + return; +} +void parser___ReduceAction327___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15515; + fra.me.meth = LOCATE_parser___ReduceAction327___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15524 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15524); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15526 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15526); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15528 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15528); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15530 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15530); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15532 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15532); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15545 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction327___init(val_t p0, int* init_table){ + int itpos331 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction327].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos331]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15547; + fra.me.meth = LOCATE_parser___ReduceAction327___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15547 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos331] = 1; + return; +} +void parser___ReduceAction328___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15551; + fra.me.meth = LOCATE_parser___ReduceAction328___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15562 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15562); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15564 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15564); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15570 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15570); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15576 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15576); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15578 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15578); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15580 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15580); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:15582 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15582); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15595 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction328___init(val_t p0, int* init_table){ + int itpos332 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction328].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos332]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15597; + fra.me.meth = LOCATE_parser___ReduceAction328___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15597 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos332] = 1; + return; +} +void parser___ReduceAction329___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15601; + fra.me.meth = LOCATE_parser___ReduceAction329___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15613 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15613); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15615 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15615); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15621 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15621); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15623 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15623); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15629 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15629); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15631 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15631); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15633 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15633); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:15635 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15635); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15648 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction329___init(val_t p0, int* init_table){ + int itpos333 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction329].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos333]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15650; + fra.me.meth = LOCATE_parser___ReduceAction329___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15650 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos333] = 1; + return; +} +void parser___ReduceAction330___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15654; + fra.me.meth = LOCATE_parser___ReduceAction330___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15664 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15664); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15666 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15666); + nit_exit(1); + } + fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15672 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15672); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15674 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15674); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15676 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15676); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:15678 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15678); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15691 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction330___init(val_t p0, int* init_table){ + int itpos334 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction330].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos334]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15693; + fra.me.meth = LOCATE_parser___ReduceAction330___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15693 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos334] = 1; + return; +} +void parser___ReduceAction331___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15697; + fra.me.meth = LOCATE_parser___ReduceAction331___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15709 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15709); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15711 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15711); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15713 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15713); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15719 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15719); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15725 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15725); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15727 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15727); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15729 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15729); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:15731 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15731); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15744 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction331___init(val_t p0, int* init_table){ + int itpos335 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction331].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos335]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15746; + fra.me.meth = LOCATE_parser___ReduceAction331___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15746 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos335] = 1; + return; +} +void parser___ReduceAction332___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15750; + fra.me.meth = LOCATE_parser___ReduceAction332___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15763 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15763); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15765); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15767); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15773 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15773); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15775 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15775); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15781 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15781); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15783 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15783); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15785 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15785); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:15787 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15787); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15800 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction332___init(val_t p0, int* init_table){ + int itpos336 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction332].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos336]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15802; + fra.me.meth = LOCATE_parser___ReduceAction332___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15802 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos336] = 1; + return; +} +void parser___ReduceAction333___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15806; + fra.me.meth = LOCATE_parser___ReduceAction333___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15817 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15817); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15819 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15819); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15821 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15821); + nit_exit(1); + } + fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15827 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15827); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15829 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15829); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15831 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15831); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:15833 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15833); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15846 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction333___init(val_t p0, int* init_table){ + int itpos337 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction333].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos337]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15848; + fra.me.meth = LOCATE_parser___ReduceAction333___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15848 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos337] = 1; + return; +} +void parser___ReduceAction334___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15852; + fra.me.meth = LOCATE_parser___ReduceAction334___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15862 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15862); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15864 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15864); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15870 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15870); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15872 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15872); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15874 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15874); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:15876 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15876); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15889 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction334___init(val_t p0, int* init_table){ + int itpos338 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction334].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos338]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15891; + fra.me.meth = LOCATE_parser___ReduceAction334___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15891 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos338] = 1; + return; +} +void parser___ReduceAction335___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15895; + fra.me.meth = LOCATE_parser___ReduceAction335___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15906 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15906); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:15908 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15908); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15910 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15910); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15916 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15916); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15918 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15918); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15920 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15920); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:15922 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15922); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15935 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction335___init(val_t p0, int* init_table){ + int itpos339 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction335].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos339]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15937; + fra.me.meth = LOCATE_parser___ReduceAction335___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15937 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos339] = 1; + return; +} +void parser___ReduceAction336___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15941; + fra.me.meth = LOCATE_parser___ReduceAction336___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15950 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15950); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:15952 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15952); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:15954 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15954); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:15956 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15956); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:15958 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15958); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:15971 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction336___init(val_t p0, int* init_table){ + int itpos340 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction336].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos340]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15973; + fra.me.meth = LOCATE_parser___ReduceAction336___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:15973 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos340] = 1; + return; +} +void parser___ReduceAction337___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 15977; + fra.me.meth = LOCATE_parser___ReduceAction337___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:15989 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15989); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:15991 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15991); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:15997 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 15997); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16003 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16003); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16005 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16005); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16007 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16007); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16009 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16009); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:16011 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16011); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16024 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction337___init(val_t p0, int* init_table){ + int itpos341 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction337].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos341]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16026; + fra.me.meth = LOCATE_parser___ReduceAction337___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16026 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos341] = 1; + return; +} +void parser___ReduceAction338___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16030; + fra.me.meth = LOCATE_parser___ReduceAction338___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16043 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16043); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16045 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16045); + nit_exit(1); + } + fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16051 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16051); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16053 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16053); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16059 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16059); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16061 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16061); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16063); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16065 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16065); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:16067 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16067); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16080 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction338___init(val_t p0, int* init_table){ + int itpos342 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction338].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos342]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16082; + fra.me.meth = LOCATE_parser___ReduceAction338___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16082 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos342] = 1; + return; +} +void parser___ReduceAction339___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16086; + fra.me.meth = LOCATE_parser___ReduceAction339___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16097 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16097); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16099 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16099); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16105 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16105); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16107 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16107); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16109 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16109); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16111 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16111); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:16113 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16113); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16126 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction339___init(val_t p0, int* init_table){ + int itpos343 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction339].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos343]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16128; + fra.me.meth = LOCATE_parser___ReduceAction339___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16128 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos343] = 1; + return; +} +void parser___ReduceAction340___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16132; + fra.me.meth = LOCATE_parser___ReduceAction340___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16145 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16145); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16147 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16147); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16149 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16149); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16155 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16155); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16161 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16161); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16163 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16163); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16165 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16165); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16167 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16167); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:16169 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16169); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16182 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction340___init(val_t p0, int* init_table){ + int itpos344 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction340].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos344]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16184; + fra.me.meth = LOCATE_parser___ReduceAction340___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16184 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos344] = 1; + return; +} +void parser___ReduceAction341___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16188; + fra.me.meth = LOCATE_parser___ReduceAction341___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16202 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16202); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16204 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16204); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16206 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16206); + nit_exit(1); + } + fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16212 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16212); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16214 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16214); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16220 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16220); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16222 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16222); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16224 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16224); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16226 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16226); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:16228 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16228); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16241 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction341___init(val_t p0, int* init_table){ + int itpos345 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction341].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos345]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16243; + fra.me.meth = LOCATE_parser___ReduceAction341___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16243 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos345] = 1; + return; +} +void parser___ReduceAction342___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16247; + fra.me.meth = LOCATE_parser___ReduceAction342___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16259 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16259); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16261 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16261); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16263 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16263); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16269 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16269); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16271 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16271); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16273 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16273); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16275 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16275); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:16277 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16277); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16290 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction342___init(val_t p0, int* init_table){ + int itpos346 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction342].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos346]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16292; + fra.me.meth = LOCATE_parser___ReduceAction342___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16292 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos346] = 1; + return; +} +void parser___ReduceAction343___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16296; + fra.me.meth = LOCATE_parser___ReduceAction343___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16307 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16307); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16309 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16309); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16315 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16315); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16317 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16317); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16319 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16319); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16321 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16321); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:16323 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16323); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16336 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction343___init(val_t p0, int* init_table){ + int itpos347 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction343].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos347]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16338; + fra.me.meth = LOCATE_parser___ReduceAction343___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16338 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos347] = 1; + return; +} +void parser___ReduceAction344___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16342; + fra.me.meth = LOCATE_parser___ReduceAction344___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16354 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16354); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16356 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16356); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16358 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16358); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16364 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16364); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16366 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16366); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16368 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16368); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16370 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16370); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:16372 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16372); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16385 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction344___init(val_t p0, int* init_table){ + int itpos348 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction344].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos348]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16387; + fra.me.meth = LOCATE_parser___ReduceAction344___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16387 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos348] = 1; + return; +} +void parser___ReduceAction345___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16391; + fra.me.meth = LOCATE_parser___ReduceAction345___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16401 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16401); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16403 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16403); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16405 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16405); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16407 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16407); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16409 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16409); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:16411 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16411); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16424 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction345___init(val_t p0, int* init_table){ + int itpos349 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction345].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos349]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16426; + fra.me.meth = LOCATE_parser___ReduceAction345___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16426 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos349] = 1; + return; +} +void parser___ReduceAction346___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16430; + fra.me.meth = LOCATE_parser___ReduceAction346___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16443 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16443); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16445 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16445); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16451 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16451); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16457 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16457); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16459 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16459); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16461 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16461); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16463 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16463); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16476 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction346___init(val_t p0, int* init_table){ + int itpos350 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction346].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos350]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16478; + fra.me.meth = LOCATE_parser___ReduceAction346___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16478 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos350] = 1; + return; +} +void parser___ReduceAction347___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16482; + fra.me.meth = LOCATE_parser___ReduceAction347___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16496 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16496); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16498 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16498); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16504 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16504); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16506 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16506); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16512 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16512); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16514 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16514); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16516 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16516); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16518 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16518); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16531 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction347___init(val_t p0, int* init_table){ + int itpos351 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction347].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos351]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16533; + fra.me.meth = LOCATE_parser___ReduceAction347___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16533 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos351] = 1; + return; +} +void parser___ReduceAction348___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16537; + fra.me.meth = LOCATE_parser___ReduceAction348___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16549 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16549); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16551 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16551); + nit_exit(1); + } + fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16557 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16557); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16559 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16559); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16561 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16561); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16563 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16563); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16576 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction348___init(val_t p0, int* init_table){ + int itpos352 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction348].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos352]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16578; + fra.me.meth = LOCATE_parser___ReduceAction348___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16578 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos352] = 1; + return; +} +void parser___ReduceAction349___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16582; + fra.me.meth = LOCATE_parser___ReduceAction349___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16596 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16596); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16598 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16598); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16600); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16606 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16606); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16612 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16612); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16614 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16614); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16616 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16616); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16618 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16618); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16631 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction349___init(val_t p0, int* init_table){ + int itpos353 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction349].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos353]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16633; + fra.me.meth = LOCATE_parser___ReduceAction349___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16633 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos353] = 1; + return; +} +void parser___ReduceAction350___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16637; + fra.me.meth = LOCATE_parser___ReduceAction350___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16652 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16652); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16654 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16654); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16656 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16656); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16662 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16662); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16664 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16664); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16670 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16670); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16672 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16672); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16674 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16674); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16676 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16676); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16689 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction350___init(val_t p0, int* init_table){ + int itpos354 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction350].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos354]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16691; + fra.me.meth = LOCATE_parser___ReduceAction350___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16691 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos354] = 1; + return; +} +void parser___ReduceAction351___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16695; + fra.me.meth = LOCATE_parser___ReduceAction351___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16708 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16708); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16710 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16710); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16712 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16712); + nit_exit(1); + } + fra.me.REG[6] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16718 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16718); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16720 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16720); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16722 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16722); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16724 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16724); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16737 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction351___init(val_t p0, int* init_table){ + int itpos355 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction351].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos355]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16739; + fra.me.meth = LOCATE_parser___ReduceAction351___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16739 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos355] = 1; + return; +} +void parser___ReduceAction352___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16743; + fra.me.meth = LOCATE_parser___ReduceAction352___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16755 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16755); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16757 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16757); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16763 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16763); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16765); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16767); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16769 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16769); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16782 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction352___init(val_t p0, int* init_table){ + int itpos356 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction352].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos356]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16784; + fra.me.meth = LOCATE_parser___ReduceAction352___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16784 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos356] = 1; + return; +} +void parser___ReduceAction353___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16788; + fra.me.meth = LOCATE_parser___ReduceAction353___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16801 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16801); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16803 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16803); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16805 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16805); + nit_exit(1); + } + fra.me.REG[6] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[7], fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16811 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16811); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16813 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16813); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16815 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16815); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16817 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16817); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16830 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction353___init(val_t p0, int* init_table){ + int itpos357 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction353].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos357]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16832; + fra.me.meth = LOCATE_parser___ReduceAction353___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16832 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos357] = 1; + return; +} +void parser___ReduceAction354___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16836; + fra.me.meth = LOCATE_parser___ReduceAction354___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16847 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16847); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16849 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16849); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16851 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16851); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16853 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16853); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16855 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16855); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16868 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction354___init(val_t p0, int* init_table){ + int itpos358 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction354].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos358]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16870; + fra.me.meth = LOCATE_parser___ReduceAction354___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16870 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos358] = 1; + return; +} +void parser___ReduceAction355___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16874; + fra.me.meth = LOCATE_parser___ReduceAction355___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16888 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16888); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16890 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16890); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16896 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16896); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16902 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16902); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16904 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16904); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16906 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16906); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16908 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16908); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16910 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16910); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16923 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction355___init(val_t p0, int* init_table){ + int itpos359 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction355].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos359]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16925; + fra.me.meth = LOCATE_parser___ReduceAction355___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16925 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos359] = 1; + return; +} +void parser___ReduceAction356___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16929; + fra.me.meth = LOCATE_parser___ReduceAction356___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:16944 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16944); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:16946 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16946); + nit_exit(1); + } + fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16952 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16952); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:16954 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16954); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:16960 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16960); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:16962 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16962); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:16964 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16964); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:16966 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16966); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:16968 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 16968); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:16981 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction356___init(val_t p0, int* init_table){ + int itpos360 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction356].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos360]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16983; + fra.me.meth = LOCATE_parser___ReduceAction356___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:16983 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos360] = 1; + return; +} +void parser___ReduceAction357___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 16987; + fra.me.meth = LOCATE_parser___ReduceAction357___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17000 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17000); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17002 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17002); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17008 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17008); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17010 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17010); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17012 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17012); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17014 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17014); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17016 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17016); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17029 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction357___init(val_t p0, int* init_table){ + int itpos361 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction357].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos361]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17031; + fra.me.meth = LOCATE_parser___ReduceAction357___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17031 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos361] = 1; + return; +} +void parser___ReduceAction358___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17035; + fra.me.meth = LOCATE_parser___ReduceAction358___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17050 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17050); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17052 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17052); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17054 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17054); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17060 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17060); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17066 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17066); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17068 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17068); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17070 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17070); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17072 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17072); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17074 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17074); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17087 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction358___init(val_t p0, int* init_table){ + int itpos362 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction358].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos362]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17089; + fra.me.meth = LOCATE_parser___ReduceAction358___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17089 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos362] = 1; + return; +} +void parser___ReduceAction359___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17093; + fra.me.meth = LOCATE_parser___ReduceAction359___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17109 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17109); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17111 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17111); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17113 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17113); + nit_exit(1); + } + fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17119 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17119); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17121 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17121); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17127 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17127); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17129 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17129); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17131 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17131); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17133 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17133); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17135 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17135); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17148 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction359___init(val_t p0, int* init_table){ + int itpos363 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction359].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos363]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17150; + fra.me.meth = LOCATE_parser___ReduceAction359___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17150 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos363] = 1; + return; +} +void parser___ReduceAction360___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17154; + fra.me.meth = LOCATE_parser___ReduceAction360___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17168 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17168); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17170 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17170); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17172 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17172); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17178 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17178); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17180 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17180); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17182 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17182); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17184 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17184); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17186 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17186); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17199 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction360___init(val_t p0, int* init_table){ + int itpos364 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction360].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos364]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17201; + fra.me.meth = LOCATE_parser___ReduceAction360___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17201 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos364] = 1; + return; +} +void parser___ReduceAction361___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17205; + fra.me.meth = LOCATE_parser___ReduceAction361___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17218 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17218); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17220 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17220); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17226 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17226); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17228 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17228); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17230 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17230); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17232 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17232); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17234 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17234); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17247 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction361___init(val_t p0, int* init_table){ + int itpos365 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction361].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos365]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17249; + fra.me.meth = LOCATE_parser___ReduceAction361___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17249 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos365] = 1; + return; +} +void parser___ReduceAction362___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17253; + fra.me.meth = LOCATE_parser___ReduceAction362___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17267 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17267); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17269 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17269); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17271 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17271); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17277 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17277); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17279 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17279); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17281 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17281); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17283 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17283); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17285 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17285); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17298 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction362___init(val_t p0, int* init_table){ + int itpos366 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction362].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos366]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17300; + fra.me.meth = LOCATE_parser___ReduceAction362___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17300 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos366] = 1; + return; +} +void parser___ReduceAction363___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17304; + fra.me.meth = LOCATE_parser___ReduceAction363___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17316 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17316); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17318); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17320); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17322 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17322); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17324 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17324); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17326 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17326); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17339 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction363___init(val_t p0, int* init_table){ + int itpos367 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction363].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos367]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17341; + fra.me.meth = LOCATE_parser___ReduceAction363___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17341 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos367] = 1; + return; +} +void parser___ReduceAction364___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17345; + fra.me.meth = LOCATE_parser___ReduceAction364___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17359 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17359); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17361 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17361); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17367 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17367); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17373 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17373); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17375 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17375); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17377 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17377); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17379 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17379); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17381 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17381); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17394 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction364___init(val_t p0, int* init_table){ + int itpos368 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction364].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos368]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17396; + fra.me.meth = LOCATE_parser___ReduceAction364___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17396 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos368] = 1; + return; +} +void parser___ReduceAction365___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17400; + fra.me.meth = LOCATE_parser___ReduceAction365___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17415 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17415); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17417 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17417); + nit_exit(1); + } + fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17423 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17423); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17425 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17425); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17431 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17431); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17433 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17433); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17435 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17435); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17437 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17437); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17439 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17439); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17452 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction365___init(val_t p0, int* init_table){ + int itpos369 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction365].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos369]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17454; + fra.me.meth = LOCATE_parser___ReduceAction365___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17454 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos369] = 1; + return; +} +void parser___ReduceAction366___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17458; + fra.me.meth = LOCATE_parser___ReduceAction366___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17471 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17471); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17473); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17479 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17479); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17481 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17481); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17483 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17483); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17485 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17485); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17487 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17487); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17500 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction366___init(val_t p0, int* init_table){ + int itpos370 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction366].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos370]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17502; + fra.me.meth = LOCATE_parser___ReduceAction366___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17502 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos370] = 1; + return; +} +void parser___ReduceAction367___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17506; + fra.me.meth = LOCATE_parser___ReduceAction367___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17521 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17521); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17523 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17523); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17525 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17525); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17531 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17531); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17537 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17537); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17539 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17539); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17541 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17541); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17543 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17543); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17545 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17545); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17558 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction367___init(val_t p0, int* init_table){ + int itpos371 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction367].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos371]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17560; + fra.me.meth = LOCATE_parser___ReduceAction367___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17560 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos371] = 1; + return; +} +void parser___ReduceAction368___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17564; + fra.me.meth = LOCATE_parser___ReduceAction368___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17580 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17580); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17582 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17582); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17584 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17584); + nit_exit(1); + } + fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17590 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17590); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17592 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17592); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17598 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17598); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17600); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17602 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17602); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17604 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17604); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17606 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17606); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17619 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction368___init(val_t p0, int* init_table){ + int itpos372 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction368].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos372]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17621; + fra.me.meth = LOCATE_parser___ReduceAction368___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17621 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos372] = 1; + return; +} +void parser___ReduceAction369___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17625; + fra.me.meth = LOCATE_parser___ReduceAction369___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17639 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17639); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17641 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17641); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17643 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17643); + nit_exit(1); + } + fra.me.REG[7] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17649 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17649); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17651 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17651); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17653 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17653); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17655 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17655); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17657 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17657); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17670 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction369___init(val_t p0, int* init_table){ + int itpos373 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction369].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos373]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17672; + fra.me.meth = LOCATE_parser___ReduceAction369___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17672 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos373] = 1; + return; +} +void parser___ReduceAction370___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17676; + fra.me.meth = LOCATE_parser___ReduceAction370___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17689 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17689); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17691 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17691); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17697 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17697); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17699 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17699); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17701 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17701); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17703 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17703); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17705 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17705); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17718 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction370___init(val_t p0, int* init_table){ + int itpos374 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction370].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos374]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17720; + fra.me.meth = LOCATE_parser___ReduceAction370___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17720 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos374] = 1; + return; +} +void parser___ReduceAction371___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17724; + fra.me.meth = LOCATE_parser___ReduceAction371___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17738 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17738); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17740 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17740); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17742 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17742); + nit_exit(1); + } + fra.me.REG[7] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[8], fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17748 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17748); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17750 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17750); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17752 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17752); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17754 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17754); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17756 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17756); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17769 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction371___init(val_t p0, int* init_table){ + int itpos375 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction371].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos375]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17771; + fra.me.meth = LOCATE_parser___ReduceAction371___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17771 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos375] = 1; + return; +} +void parser___ReduceAction372___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17775; + fra.me.meth = LOCATE_parser___ReduceAction372___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17787 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17787); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17789 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17789); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17791 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17791); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17793 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17793); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17795 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17795); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17797 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17797); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17810 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction372___init(val_t p0, int* init_table){ + int itpos376 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction372].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos376]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17812; + fra.me.meth = LOCATE_parser___ReduceAction372___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17812 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos376] = 1; + return; +} +void parser___ReduceAction373___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17816; + fra.me.meth = LOCATE_parser___ReduceAction373___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17831 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17831); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17833 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17833); + nit_exit(1); + } + fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17839 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17839); + nit_exit(1); + } + fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17845 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17845); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17847 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17847); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17849 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17849); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17851 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17851); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17853 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17853); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17855 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17855); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17868 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction373___init(val_t p0, int* init_table){ + int itpos377 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction373].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos377]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17870; + fra.me.meth = LOCATE_parser___ReduceAction373___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17870 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos377] = 1; + return; +} +void parser___ReduceAction374___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17874; + fra.me.meth = LOCATE_parser___ReduceAction374___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17890 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17890); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17892 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17892); + nit_exit(1); + } + fra.me.REG[10] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[10]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17898 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17898); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:17900 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17900); + nit_exit(1); + } + fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[9], fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17906 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17906); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17908 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17908); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17910 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17910); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17912 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17912); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17914 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17914); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17916 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17916); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17929 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction374___init(val_t p0, int* init_table){ + int itpos378 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction374].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos378]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17931; + fra.me.meth = LOCATE_parser___ReduceAction374___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17931 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos378] = 1; + return; +} +void parser___ReduceAction375___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17935; + fra.me.meth = LOCATE_parser___ReduceAction375___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:17949 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17949); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:17951 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17951); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:17957 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17957); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:17959 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17959); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:17961 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17961); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:17963 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17963); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:17965 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17965); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:17967 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 17967); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:17980 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction375___init(val_t p0, int* init_table){ + int itpos379 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction375].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos379]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17982; + fra.me.meth = LOCATE_parser___ReduceAction375___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:17982 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos379] = 1; + return; +} +void parser___ReduceAction376___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[11];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 17986; + fra.me.meth = LOCATE_parser___ReduceAction376___action; + fra.me.has_broke = 0; + fra.me.REG_size = 12; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18002 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18002); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18004 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18004); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:18006 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18006); + nit_exit(1); + } + fra.me.REG[9] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[10], fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:18012 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18012); + nit_exit(1); + } + fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18018 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18018); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18020 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18020); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:18022 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18022); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:18024 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18024); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:18026 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18026); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18028 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18028); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18041 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction376___init(val_t p0, int* init_table){ + int itpos380 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction376].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos380]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18043; + fra.me.meth = LOCATE_parser___ReduceAction376___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18043 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos380] = 1; + return; +} +void parser___ReduceAction377___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[12];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18047; + fra.me.meth = LOCATE_parser___ReduceAction377___action; + fra.me.has_broke = 0; + fra.me.REG_size = 13; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[11] = NIT_NULL; + fra.me.REG[12] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[12]==NIT_NULL) || VAL_ISA(fra.me.REG[12], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18064 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18064); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18066 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18066); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:18068 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18068); + nit_exit(1); + } + fra.me.REG[10] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[11], fra.me.REG[10]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18074 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18074); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:18076 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18076); + nit_exit(1); + } + fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[9], fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18082 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18082); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18084 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18084); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:18086 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18086); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:18088 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18088); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:18090 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18090); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18092 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18092); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[12], fra.me.REG[10], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18105 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction377___init(val_t p0, int* init_table){ + int itpos381 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction377].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos381]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18107; + fra.me.meth = LOCATE_parser___ReduceAction377___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18107 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos381] = 1; + return; +} +void parser___ReduceAction378___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18111; + fra.me.meth = LOCATE_parser___ReduceAction378___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18126 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18126); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18128 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18128); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwreadable, ID_TKwreadable)) /*cast nullable TKwreadable*/; + /* ./parser//parser.nit:18130 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18130); + nit_exit(1); + } + fra.me.REG[8] = NEW_AReadAble_parser_prod___AReadAble___init_areadable(fra.me.REG[9], fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18136 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18136); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18138 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18138); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:18140 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18140); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:18142 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18142); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:18144 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18144); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18146 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18146); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18159 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction378___init(val_t p0, int* init_table){ + int itpos382 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction378].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos382]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18161; + fra.me.meth = LOCATE_parser___ReduceAction378___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18161 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos382] = 1; + return; +} +void parser___ReduceAction379___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18165; + fra.me.meth = LOCATE_parser___ReduceAction379___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18179 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18179); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:18181 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18181); + nit_exit(1); + } + fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18187 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18187); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18189); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:18191 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18191); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:18193 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18193); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:18195 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18195); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18197 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18197); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18210 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction379___init(val_t p0, int* init_table){ + int itpos383 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction379].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos383]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18212; + fra.me.meth = LOCATE_parser___ReduceAction379___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18212 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos383] = 1; + return; +} +void parser___ReduceAction380___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18216; + fra.me.meth = LOCATE_parser___ReduceAction380___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18231 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18231); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18233 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18233); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwwritable, ID_TKwwritable)) /*cast nullable TKwwritable*/; + /* ./parser//parser.nit:18235 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18235); + nit_exit(1); + } + fra.me.REG[8] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable(fra.me.REG[9], fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18241 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18241); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18243 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18243); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:18245 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18245); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:18247 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18247); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:18249 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18249); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18251 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18251); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18264 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction380___init(val_t p0, int* init_table){ + int itpos384 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction380].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos384]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18266; + fra.me.meth = LOCATE_parser___ReduceAction380___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18266 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos384] = 1; + return; +} +void parser___ReduceAction381___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18270; + fra.me.meth = LOCATE_parser___ReduceAction381___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18283 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18283); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18285 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18285); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18287 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18287); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:18289 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18289); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:18291 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18291); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:18293 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18293); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18295 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18295); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18308 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction381___init(val_t p0, int* init_table){ + int itpos385 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction381].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos385]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18310; + fra.me.meth = LOCATE_parser___ReduceAction381___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18310 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos385] = 1; + return; +} +void parser___ReduceAction382___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18314; + fra.me.meth = LOCATE_parser___ReduceAction382___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18324 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18324); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18326 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18326); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18328 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18328); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18330 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18330); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18332 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18332); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18343 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction382___init(val_t p0, int* init_table){ + int itpos386 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction382].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos386]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18345; + fra.me.meth = LOCATE_parser___ReduceAction382___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18345 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos386] = 1; + return; +} +void parser___ReduceAction383___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18349; + fra.me.meth = LOCATE_parser___ReduceAction383___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18360 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18360); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:18362 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18362); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18364 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18364); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18366 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18366); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18368 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18368); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18370 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18370); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18381 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction383___init(val_t p0, int* init_table){ + int itpos387 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction383].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos387]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18383; + fra.me.meth = LOCATE_parser___ReduceAction383___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18383 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos387] = 1; + return; +} +void parser___ReduceAction384___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18387; + fra.me.meth = LOCATE_parser___ReduceAction384___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18398 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18398); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18400 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18400); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18402 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18402); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:18404 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18404); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18409 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18409); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18411 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18411); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18422 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction384___init(val_t p0, int* init_table){ + int itpos388 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction384].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos388]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18424; + fra.me.meth = LOCATE_parser___ReduceAction384___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18424 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos388] = 1; + return; +} +void parser___ReduceAction385___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18428; + fra.me.meth = LOCATE_parser___ReduceAction385___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18439 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18439); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18441 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18441); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18443 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18443); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:18445 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18445); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18450 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18450); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18452 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18452); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18463 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction385___init(val_t p0, int* init_table){ + int itpos389 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction385].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos389]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18465; + fra.me.meth = LOCATE_parser___ReduceAction385___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18465 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos389] = 1; + return; +} +void parser___ReduceAction386___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18469; + fra.me.meth = LOCATE_parser___ReduceAction386___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18480 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18480); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18482 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18482); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18484 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18484); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:18486 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18486); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18491 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18491); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18493 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18493); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18504 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction386___init(val_t p0, int* init_table){ + int itpos390 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction386].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos390]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18506; + fra.me.meth = LOCATE_parser___ReduceAction386___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18506 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos390] = 1; + return; +} +void parser___ReduceAction387___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18510; + fra.me.meth = LOCATE_parser___ReduceAction387___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18521 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18521); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18523 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18523); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18525 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18525); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:18527 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18527); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18532 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18532); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18534 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18534); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18545 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction387___init(val_t p0, int* init_table){ + int itpos391 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction387].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos391]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18547; + fra.me.meth = LOCATE_parser___ReduceAction387___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18547 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos391] = 1; + return; +} +void parser___ReduceAction388___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18551; + fra.me.meth = LOCATE_parser___ReduceAction388___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18562 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18562); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18564 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18564); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18566 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18566); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:18568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18568); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18573 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18573); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18575 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18575); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18586 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction388___init(val_t p0, int* init_table){ + int itpos392 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction388].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos392]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18588; + fra.me.meth = LOCATE_parser___ReduceAction388___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18588 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos392] = 1; + return; +} +void parser___ReduceAction389___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18592; + fra.me.meth = LOCATE_parser___ReduceAction389___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18603 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18603); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18605 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18605); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18607 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18607); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:18609 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18609); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18614 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18614); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18616 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18616); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18627 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction389___init(val_t p0, int* init_table){ + int itpos393 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction389].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos393]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18629; + fra.me.meth = LOCATE_parser___ReduceAction389___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18629 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos393] = 1; + return; +} +void parser___ReduceAction390___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18633; + fra.me.meth = LOCATE_parser___ReduceAction390___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18644 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18644); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18646 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18646); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18648 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18648); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:18650 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18650); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18655 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18655); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18657 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18657); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18668 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction390___init(val_t p0, int* init_table){ + int itpos394 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction390].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos394]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18670; + fra.me.meth = LOCATE_parser___ReduceAction390___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18670 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos394] = 1; + return; +} +void parser___ReduceAction391___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18674; + fra.me.meth = LOCATE_parser___ReduceAction391___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18685 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18685); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18687 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18687); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18689 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18689); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:18691 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18691); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18696 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18696); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18698 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18698); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18709 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction391___init(val_t p0, int* init_table){ + int itpos395 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction391].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos395]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18711; + fra.me.meth = LOCATE_parser___ReduceAction391___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18711 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos395] = 1; + return; +} +void parser___ReduceAction392___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18715; + fra.me.meth = LOCATE_parser___ReduceAction392___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18726 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18726); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18728 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18728); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18730 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18730); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:18732 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18732); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18737 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18737); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18739 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18739); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18750 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction392___init(val_t p0, int* init_table){ + int itpos396 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction392].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos396]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18752; + fra.me.meth = LOCATE_parser___ReduceAction392___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18752 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos396] = 1; + return; +} +void parser___ReduceAction393___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18756; + fra.me.meth = LOCATE_parser___ReduceAction393___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18767); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18769 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18769); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18771 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18771); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:18773 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18773); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18778 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18778); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18780 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18780); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18791 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction393___init(val_t p0, int* init_table){ + int itpos397 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction393].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos397]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18793; + fra.me.meth = LOCATE_parser___ReduceAction393___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18793 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos397] = 1; + return; +} +void parser___ReduceAction394___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18797; + fra.me.meth = LOCATE_parser___ReduceAction394___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18808 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18808); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18810 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18810); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18812 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18812); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:18814 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18814); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18819 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18819); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18821 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18821); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18832 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction394___init(val_t p0, int* init_table){ + int itpos398 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction394].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos398]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18834; + fra.me.meth = LOCATE_parser___ReduceAction394___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18834 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos398] = 1; + return; +} +void parser___ReduceAction395___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18838; + fra.me.meth = LOCATE_parser___ReduceAction395___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18849 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18849); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18851 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18851); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18853 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18853); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:18855 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18855); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18860 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18860); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18862 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18862); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18873 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction395___init(val_t p0, int* init_table){ + int itpos399 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction395].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos399]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18875; + fra.me.meth = LOCATE_parser___ReduceAction395___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18875 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos399] = 1; + return; +} +void parser___ReduceAction396___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18879; + fra.me.meth = LOCATE_parser___ReduceAction396___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18891 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18891); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18893 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18893); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18895 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18895); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:18897 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18897); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:18899 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18899); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18905 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18905); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18907 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18907); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18918 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction396___init(val_t p0, int* init_table){ + int itpos400 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction396].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos400]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18920; + fra.me.meth = LOCATE_parser___ReduceAction396___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18920 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos400] = 1; + return; +} +void parser___ReduceAction397___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18924; + fra.me.meth = LOCATE_parser___ReduceAction397___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18935 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18935); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18937 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18937); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18939 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18939); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:18941 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18941); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18946 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18946); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18948 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18948); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:18959 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction397___init(val_t p0, int* init_table){ + int itpos401 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction397].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos401]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18961; + fra.me.meth = LOCATE_parser___ReduceAction397___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:18961 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos401] = 1; + return; +} +void parser___ReduceAction398___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 18965; + fra.me.meth = LOCATE_parser___ReduceAction398___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:18977 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18977); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:18979 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18979); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:18981 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18981); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:18983 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18983); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:18985 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18985); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:18991 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18991); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:18993 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 18993); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19004 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction398___init(val_t p0, int* init_table){ + int itpos402 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction398].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos402]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19006; + fra.me.meth = LOCATE_parser___ReduceAction398___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19006 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos402] = 1; + return; +} +void parser___ReduceAction399___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19010; + fra.me.meth = LOCATE_parser___ReduceAction399___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19023 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19023); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19025 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19025); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19027 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19027); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:19029 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19029); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:19031 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19031); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:19033 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19033); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19040 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19040); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19042 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19042); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19053 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction399___init(val_t p0, int* init_table){ + int itpos403 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction399].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos403]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19055; + fra.me.meth = LOCATE_parser___ReduceAction399___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19055 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos403] = 1; + return; +} +void parser___ReduceAction400___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19059; + fra.me.meth = LOCATE_parser___ReduceAction400___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19071 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19071); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19073 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19073); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19075 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19075); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19077 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19077); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:19079 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19079); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19084 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19084); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19086 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19086); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19097 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction400___init(val_t p0, int* init_table){ + int itpos404 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction400].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos404]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19099; + fra.me.meth = LOCATE_parser___ReduceAction400___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19099 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos404] = 1; + return; +} +void parser___ReduceAction401___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19103; + fra.me.meth = LOCATE_parser___ReduceAction401___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19115 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19115); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19117 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19117); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19119 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19119); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19121 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19121); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:19123 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19123); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19128 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19128); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19130 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19130); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19141 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction401___init(val_t p0, int* init_table){ + int itpos405 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction401].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos405]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19143; + fra.me.meth = LOCATE_parser___ReduceAction401___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19143 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos405] = 1; + return; +} +void parser___ReduceAction402___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19147; + fra.me.meth = LOCATE_parser___ReduceAction402___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19159 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19159); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19161 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19161); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19163 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19163); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19165 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19165); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:19167 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19167); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19172 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19172); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19174 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19174); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19185 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction402___init(val_t p0, int* init_table){ + int itpos406 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction402].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos406]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19187; + fra.me.meth = LOCATE_parser___ReduceAction402___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19187 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos406] = 1; + return; +} +void parser___ReduceAction403___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19191; + fra.me.meth = LOCATE_parser___ReduceAction403___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19203 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19203); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19205 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19205); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19207 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19207); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19209 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19209); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:19211 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19211); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19216 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19216); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19218 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19218); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19229 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction403___init(val_t p0, int* init_table){ + int itpos407 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction403].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos407]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19231; + fra.me.meth = LOCATE_parser___ReduceAction403___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19231 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos407] = 1; + return; +} +void parser___ReduceAction404___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19235; + fra.me.meth = LOCATE_parser___ReduceAction404___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19247 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19247); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19249 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19249); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19251 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19251); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19253 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19253); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:19255 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19255); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19260 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19260); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19262 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19262); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19273 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction404___init(val_t p0, int* init_table){ + int itpos408 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction404].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos408]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19275; + fra.me.meth = LOCATE_parser___ReduceAction404___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19275 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos408] = 1; + return; +} +void parser___ReduceAction405___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19279; + fra.me.meth = LOCATE_parser___ReduceAction405___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19291 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19291); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19293 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19293); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19295 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19295); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19297 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19297); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:19299 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19299); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19304 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19304); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19306 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19306); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19317 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction405___init(val_t p0, int* init_table){ + int itpos409 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction405].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos409]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19319; + fra.me.meth = LOCATE_parser___ReduceAction405___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19319 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos409] = 1; + return; +} +void parser___ReduceAction406___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19323; + fra.me.meth = LOCATE_parser___ReduceAction406___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19335 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19335); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19337 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19337); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19339 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19339); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19341 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19341); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:19343 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19343); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19348 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19348); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19350 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19350); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19361 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction406___init(val_t p0, int* init_table){ + int itpos410 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction406].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos410]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19363; + fra.me.meth = LOCATE_parser___ReduceAction406___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19363 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos410] = 1; + return; +} +void parser___ReduceAction407___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19367; + fra.me.meth = LOCATE_parser___ReduceAction407___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19379 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19379); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19381 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19381); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19383 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19383); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19385 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19385); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:19387 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19387); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19392 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19392); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19394 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19394); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19405 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction407___init(val_t p0, int* init_table){ + int itpos411 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction407].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos411]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19407; + fra.me.meth = LOCATE_parser___ReduceAction407___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19407 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos411] = 1; + return; +} +void parser___ReduceAction408___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19411; + fra.me.meth = LOCATE_parser___ReduceAction408___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19423 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19423); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19425 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19425); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19427 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19427); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19429 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19429); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:19431 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19431); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19436 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19436); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19438 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19438); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19449 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction408___init(val_t p0, int* init_table){ + int itpos412 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction408].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos412]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19451; + fra.me.meth = LOCATE_parser___ReduceAction408___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19451 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos412] = 1; + return; +} +void parser___ReduceAction409___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19455; + fra.me.meth = LOCATE_parser___ReduceAction409___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19467 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19467); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19469 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19469); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19471 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19471); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19473); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:19475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19475); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19480 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19480); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19482 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19482); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19493 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction409___init(val_t p0, int* init_table){ + int itpos413 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction409].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos413]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19495; + fra.me.meth = LOCATE_parser___ReduceAction409___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19495 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos413] = 1; + return; +} +void parser___ReduceAction410___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19499; + fra.me.meth = LOCATE_parser___ReduceAction410___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19511 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19511); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19513 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19513); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19515 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19515); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19517 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19517); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:19519 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19519); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19524 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19524); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19526 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19526); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19537 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction410___init(val_t p0, int* init_table){ + int itpos414 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction410].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos414]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19539; + fra.me.meth = LOCATE_parser___ReduceAction410___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19539 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos414] = 1; + return; +} +void parser___ReduceAction411___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19543; + fra.me.meth = LOCATE_parser___ReduceAction411___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19555 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19555); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19557 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19557); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19559 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19559); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19561 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19561); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:19563 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19563); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19568); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19570 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19570); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19581 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction411___init(val_t p0, int* init_table){ + int itpos415 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction411].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos415]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19583; + fra.me.meth = LOCATE_parser___ReduceAction411___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19583 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos415] = 1; + return; +} +void parser___ReduceAction412___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19587; + fra.me.meth = LOCATE_parser___ReduceAction412___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19600); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19602 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19602); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19604 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19604); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19606 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19606); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:19608 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19608); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:19610 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19610); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19616 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19616); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19618 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19618); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19629 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction412___init(val_t p0, int* init_table){ + int itpos416 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction412].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos416]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19631; + fra.me.meth = LOCATE_parser___ReduceAction412___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19631 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos416] = 1; + return; +} +void parser___ReduceAction413___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19635; + fra.me.meth = LOCATE_parser___ReduceAction413___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19647 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19647); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19649 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19649); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19651 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19651); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19653 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19653); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:19655 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19655); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19660 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19660); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19662 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19662); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19673 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction413___init(val_t p0, int* init_table){ + int itpos417 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction413].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos417]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19675; + fra.me.meth = LOCATE_parser___ReduceAction413___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19675 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos417] = 1; + return; +} +void parser___ReduceAction414___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19679; + fra.me.meth = LOCATE_parser___ReduceAction414___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19692 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19692); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19694 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19694); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19696 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19696); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19698 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19698); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:19700 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19700); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:19702 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19702); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19708 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19708); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19710 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19710); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19721 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction414___init(val_t p0, int* init_table){ + int itpos418 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction414].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos418]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19723; + fra.me.meth = LOCATE_parser___ReduceAction414___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19723 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos418] = 1; + return; +} +void parser___ReduceAction415___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19727; + fra.me.meth = LOCATE_parser___ReduceAction415___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19741 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19741); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19743 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19743); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19745 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19745); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19747 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19747); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:19749 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19749); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:19751 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19751); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:19753 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19753); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19760 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19760); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19762 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19762); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19773 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction415___init(val_t p0, int* init_table){ + int itpos419 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction415].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos419]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19775; + fra.me.meth = LOCATE_parser___ReduceAction415___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19775 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos419] = 1; + return; +} +void parser___ReduceAction416___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19779; + fra.me.meth = LOCATE_parser___ReduceAction416___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19790 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19790); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19792 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19792); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19794 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19794); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19796 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19796); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19798 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19798); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19809 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction416___init(val_t p0, int* init_table){ + int itpos420 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction416].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos420]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19811; + fra.me.meth = LOCATE_parser___ReduceAction416___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19811 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos420] = 1; + return; +} +void parser___ReduceAction417___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19815; + fra.me.meth = LOCATE_parser___ReduceAction417___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19827 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19827); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:19829 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19829); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19831 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19831); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19833 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19833); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19835 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19835); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19837 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19837); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19848 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction417___init(val_t p0, int* init_table){ + int itpos421 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction417].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos421]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19850; + fra.me.meth = LOCATE_parser___ReduceAction417___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19850 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos421] = 1; + return; +} +void parser___ReduceAction418___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19854; + fra.me.meth = LOCATE_parser___ReduceAction418___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19866 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19866); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19868 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19868); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19870 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19870); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:19872 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19872); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19877 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19877); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19879 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19879); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19890 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction418___init(val_t p0, int* init_table){ + int itpos422 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction418].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos422]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19892; + fra.me.meth = LOCATE_parser___ReduceAction418___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19892 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos422] = 1; + return; +} +void parser___ReduceAction419___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19896; + fra.me.meth = LOCATE_parser___ReduceAction419___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19908 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19908); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19910 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19910); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19912 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19912); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:19914 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19914); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19919 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19919); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19921 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19921); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19932 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction419___init(val_t p0, int* init_table){ + int itpos423 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction419].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos423]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19934; + fra.me.meth = LOCATE_parser___ReduceAction419___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19934 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos423] = 1; + return; +} +void parser___ReduceAction420___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19938; + fra.me.meth = LOCATE_parser___ReduceAction420___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19950 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19950); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19952 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19952); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19954 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19954); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:19956 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19956); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:19961 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19961); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:19963 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19963); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:19974 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction420___init(val_t p0, int* init_table){ + int itpos424 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction420].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos424]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19976; + fra.me.meth = LOCATE_parser___ReduceAction420___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:19976 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos424] = 1; + return; +} +void parser___ReduceAction421___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 19980; + fra.me.meth = LOCATE_parser___ReduceAction421___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:19992 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19992); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:19994 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19994); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:19996 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19996); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:19998 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 19998); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20003 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20003); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20005 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20005); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20016 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction421___init(val_t p0, int* init_table){ + int itpos425 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction421].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos425]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20018; + fra.me.meth = LOCATE_parser___ReduceAction421___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20018 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos425] = 1; + return; +} +void parser___ReduceAction422___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20022; + fra.me.meth = LOCATE_parser___ReduceAction422___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20034 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20034); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20036 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20036); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20038 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20038); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:20040 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20040); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20045 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20045); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20047 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20047); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20058 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction422___init(val_t p0, int* init_table){ + int itpos426 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction422].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos426]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20060; + fra.me.meth = LOCATE_parser___ReduceAction422___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20060 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos426] = 1; + return; +} +void parser___ReduceAction423___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20064; + fra.me.meth = LOCATE_parser___ReduceAction423___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20076 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20076); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20078 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20078); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20080 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20080); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:20082 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20082); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20087 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20087); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20089 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20089); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20100 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction423___init(val_t p0, int* init_table){ + int itpos427 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction423].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos427]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20102; + fra.me.meth = LOCATE_parser___ReduceAction423___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20102 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos427] = 1; + return; +} +void parser___ReduceAction424___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20106; + fra.me.meth = LOCATE_parser___ReduceAction424___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20118 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20118); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20120 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20120); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20122 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20122); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:20124 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20124); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20129 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20129); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20131 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20131); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20142 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction424___init(val_t p0, int* init_table){ + int itpos428 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction424].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos428]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20144; + fra.me.meth = LOCATE_parser___ReduceAction424___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20144 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos428] = 1; + return; +} +void parser___ReduceAction425___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20148; + fra.me.meth = LOCATE_parser___ReduceAction425___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20160 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20160); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20162 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20162); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20164 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20164); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:20166 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20166); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20171 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20171); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20173 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20173); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20184 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction425___init(val_t p0, int* init_table){ + int itpos429 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction425].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos429]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20186; + fra.me.meth = LOCATE_parser___ReduceAction425___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20186 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos429] = 1; + return; +} +void parser___ReduceAction426___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20190; + fra.me.meth = LOCATE_parser___ReduceAction426___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20202 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20202); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20204 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20204); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20206 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20206); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:20208 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20208); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20213 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20213); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20215 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20215); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20226 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction426___init(val_t p0, int* init_table){ + int itpos430 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction426].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos430]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20228; + fra.me.meth = LOCATE_parser___ReduceAction426___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20228 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos430] = 1; + return; +} +void parser___ReduceAction427___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20232; + fra.me.meth = LOCATE_parser___ReduceAction427___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20244 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20244); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20246 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20246); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20248 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20248); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:20250 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20250); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20255 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20255); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20257 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20257); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20268 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction427___init(val_t p0, int* init_table){ + int itpos431 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction427].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos431]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20270; + fra.me.meth = LOCATE_parser___ReduceAction427___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20270 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos431] = 1; + return; +} +void parser___ReduceAction428___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20274; + fra.me.meth = LOCATE_parser___ReduceAction428___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20286 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20286); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20288 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20288); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20290 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20290); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:20292 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20292); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20297 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20297); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20299 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20299); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20310 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction428___init(val_t p0, int* init_table){ + int itpos432 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction428].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos432]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20312; + fra.me.meth = LOCATE_parser___ReduceAction428___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20312 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos432] = 1; + return; +} +void parser___ReduceAction429___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20316; + fra.me.meth = LOCATE_parser___ReduceAction429___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20328 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20328); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20330 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20330); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20332 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20332); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:20334 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20334); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20339 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20339); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20341 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20341); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20352 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction429___init(val_t p0, int* init_table){ + int itpos433 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction429].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos433]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20354; + fra.me.meth = LOCATE_parser___ReduceAction429___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20354 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos433] = 1; + return; +} +void parser___ReduceAction430___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20358; + fra.me.meth = LOCATE_parser___ReduceAction430___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20371 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20371); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20373 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20373); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20375 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20375); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:20377 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20377); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:20379 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20379); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20385 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20385); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20387 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20387); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20398 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction430___init(val_t p0, int* init_table){ + int itpos434 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction430].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos434]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20400; + fra.me.meth = LOCATE_parser___ReduceAction430___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20400 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos434] = 1; + return; +} +void parser___ReduceAction431___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20404; + fra.me.meth = LOCATE_parser___ReduceAction431___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20416 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20416); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20418 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20418); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20420 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20420); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:20422 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20422); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20427 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20427); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20429 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20429); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20440 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction431___init(val_t p0, int* init_table){ + int itpos435 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction431].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos435]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20442; + fra.me.meth = LOCATE_parser___ReduceAction431___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20442 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos435] = 1; + return; +} +void parser___ReduceAction432___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20446; + fra.me.meth = LOCATE_parser___ReduceAction432___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20459 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20459); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20461 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20461); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20463 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20463); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:20465 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20465); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:20467 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20467); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20473); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20475); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20486 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction432___init(val_t p0, int* init_table){ + int itpos436 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction432].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos436]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20488; + fra.me.meth = LOCATE_parser___ReduceAction432___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20488 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos436] = 1; + return; +} +void parser___ReduceAction433___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20492; + fra.me.meth = LOCATE_parser___ReduceAction433___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20506 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20506); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20508 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20508); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20510 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20510); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:20512 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20512); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:20514 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20514); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:20516 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20516); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20523 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20523); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20525 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20525); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20536 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction433___init(val_t p0, int* init_table){ + int itpos437 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction433].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos437]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20538; + fra.me.meth = LOCATE_parser___ReduceAction433___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20538 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos437] = 1; + return; +} +void parser___ReduceAction434___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20542; + fra.me.meth = LOCATE_parser___ReduceAction434___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20555 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20555); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:20557 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20557); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20559 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20559); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20561 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20561); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:20563 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20563); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20568); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20570 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20570); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20581 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction434___init(val_t p0, int* init_table){ + int itpos438 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction434].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos438]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20583; + fra.me.meth = LOCATE_parser___ReduceAction434___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20583 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos438] = 1; + return; +} +void parser___ReduceAction435___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20587; + fra.me.meth = LOCATE_parser___ReduceAction435___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20600); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:20602 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20602); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20604 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20604); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20606 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20606); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:20608 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20608); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20613 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20613); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20615 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20615); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20626 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction435___init(val_t p0, int* init_table){ + int itpos439 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction435].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos439]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20628; + fra.me.meth = LOCATE_parser___ReduceAction435___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20628 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos439] = 1; + return; +} +void parser___ReduceAction436___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20632; + fra.me.meth = LOCATE_parser___ReduceAction436___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20645 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20645); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:20647 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20647); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20649 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20649); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20651 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20651); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:20653 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20653); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20658 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20658); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20660 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20660); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20671 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction436___init(val_t p0, int* init_table){ + int itpos440 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction436].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos440]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20673; + fra.me.meth = LOCATE_parser___ReduceAction436___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20673 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos440] = 1; + return; +} +void parser___ReduceAction437___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20677; + fra.me.meth = LOCATE_parser___ReduceAction437___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20690 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20690); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:20692 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20692); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20694 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20694); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20696 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20696); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:20698 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20698); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20703 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20703); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20705 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20705); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20716 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction437___init(val_t p0, int* init_table){ + int itpos441 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction437].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos441]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20718; + fra.me.meth = LOCATE_parser___ReduceAction437___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20718 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos441] = 1; + return; +} +void parser___ReduceAction438___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20722; + fra.me.meth = LOCATE_parser___ReduceAction438___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20735 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20735); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:20737 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20737); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20739 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20739); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20741 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20741); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:20743 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20743); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20748 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20748); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20750 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20750); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20761 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction438___init(val_t p0, int* init_table){ + int itpos442 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction438].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos442]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20763; + fra.me.meth = LOCATE_parser___ReduceAction438___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20763 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos442] = 1; + return; +} +void parser___ReduceAction439___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20767; + fra.me.meth = LOCATE_parser___ReduceAction439___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20780 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20780); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:20782 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20782); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20784 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20784); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20786 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20786); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:20788 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20788); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20793 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20793); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20795 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20795); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20806 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction439___init(val_t p0, int* init_table){ + int itpos443 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction439].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos443]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20808; + fra.me.meth = LOCATE_parser___ReduceAction439___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20808 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos443] = 1; + return; +} +void parser___ReduceAction440___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20812; + fra.me.meth = LOCATE_parser___ReduceAction440___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20825 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20825); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:20827 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20827); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20829 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20829); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20831 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20831); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:20833 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20833); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20838 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20838); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20840 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20840); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20851 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction440___init(val_t p0, int* init_table){ + int itpos444 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction440].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos444]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20853; + fra.me.meth = LOCATE_parser___ReduceAction440___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20853 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos444] = 1; + return; +} +void parser___ReduceAction441___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20857; + fra.me.meth = LOCATE_parser___ReduceAction441___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20870 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20870); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:20872 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20872); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20874 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20874); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20876 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20876); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:20878 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20878); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20883 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20883); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20885 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20885); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20896 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction441___init(val_t p0, int* init_table){ + int itpos445 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction441].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos445]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20898; + fra.me.meth = LOCATE_parser___ReduceAction441___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20898 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos445] = 1; + return; +} +void parser___ReduceAction442___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20902; + fra.me.meth = LOCATE_parser___ReduceAction442___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20915 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20915); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:20917 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20917); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20919 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20919); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20921 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20921); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:20923 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20923); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20928 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20928); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20930 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20930); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20941 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction442___init(val_t p0, int* init_table){ + int itpos446 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction442].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos446]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20943; + fra.me.meth = LOCATE_parser___ReduceAction442___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20943 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos446] = 1; + return; +} +void parser___ReduceAction443___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20947; + fra.me.meth = LOCATE_parser___ReduceAction443___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:20960 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20960); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:20962 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20962); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:20964 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20964); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:20966 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20966); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:20968 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20968); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:20973 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20973); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:20975 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 20975); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:20986 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction443___init(val_t p0, int* init_table){ + int itpos447 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction443].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos447]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20988; + fra.me.meth = LOCATE_parser___ReduceAction443___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:20988 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos447] = 1; + return; +} +void parser___ReduceAction444___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 20992; + fra.me.meth = LOCATE_parser___ReduceAction444___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:21005 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21005); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:21007 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21007); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:21009 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21009); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:21011 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21011); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:21013 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21013); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:21018 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21018); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:21020 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21020); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21031 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction444___init(val_t p0, int* init_table){ + int itpos448 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction444].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos448]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21033; + fra.me.meth = LOCATE_parser___ReduceAction444___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21033 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos448] = 1; + return; +} +void parser___ReduceAction445___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21037; + fra.me.meth = LOCATE_parser___ReduceAction445___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:21050 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21050); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:21052 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21052); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:21054 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21054); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:21056 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21056); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:21058 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21058); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:21063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21063); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:21065 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21065); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21076 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction445___init(val_t p0, int* init_table){ + int itpos449 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction445].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos449]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21078; + fra.me.meth = LOCATE_parser___ReduceAction445___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21078 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos449] = 1; + return; +} +void parser___ReduceAction446___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21082; + fra.me.meth = LOCATE_parser___ReduceAction446___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:21096 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21096); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:21098 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21098); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:21100 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21100); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:21102 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21102); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:21104 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21104); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:21106 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21106); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:21112 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21112); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:21114 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21114); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21125 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction446___init(val_t p0, int* init_table){ + int itpos450 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction446].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos450]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21127; + fra.me.meth = LOCATE_parser___ReduceAction446___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21127 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos450] = 1; + return; +} +void parser___ReduceAction447___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21131; + fra.me.meth = LOCATE_parser___ReduceAction447___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:21144 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21144); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:21146 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21146); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:21148 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21148); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:21150 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21150); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:21152 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21152); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:21157 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21157); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:21159 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21159); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21170 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction447___init(val_t p0, int* init_table){ + int itpos451 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction447].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos451]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21172; + fra.me.meth = LOCATE_parser___ReduceAction447___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21172 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos451] = 1; + return; +} +void parser___ReduceAction448___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21176; + fra.me.meth = LOCATE_parser___ReduceAction448___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:21190 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21190); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:21192 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21192); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:21194 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21194); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:21196 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21196); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:21198 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21198); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:21200 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21200); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:21206 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21206); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:21208 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21208); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21219 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction448___init(val_t p0, int* init_table){ + int itpos452 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction448].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos452]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21221; + fra.me.meth = LOCATE_parser___ReduceAction448___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21221 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos452] = 1; + return; +} +void parser___ReduceAction449___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21225; + fra.me.meth = LOCATE_parser___ReduceAction449___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:21240 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21240); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:21242 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21242); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:21244 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21244); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:21246 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21246); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:21248 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21248); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:21250 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21250); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:21252 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21252); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:21259 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21259); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:21261 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21261); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteInitPropdef_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21272 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction449___init(val_t p0, int* init_table){ + int itpos453 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction449].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos453]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21274; + fra.me.meth = LOCATE_parser___ReduceAction449___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21274 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos453] = 1; + return; +} +void parser___ReduceAction450___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21278; + fra.me.meth = LOCATE_parser___ReduceAction450___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:21287 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21287); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:21289 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21289); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwtype, ID_TKwtype)) /*cast nullable TKwtype*/; + /* ./parser//parser.nit:21291 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21291); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:21293 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21293); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:21295 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21295); + nit_exit(1); + } + fra.me.REG[2] = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21305 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction450___init(val_t p0, int* init_table){ + int itpos454 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction450].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos454]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21307; + fra.me.meth = LOCATE_parser___ReduceAction450___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21307 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos454] = 1; + return; +} +void parser___ReduceAction451___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21311; + fra.me.meth = LOCATE_parser___ReduceAction451___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:21321 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21321); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:21323 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21323); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:21325 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21325); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwtype, ID_TKwtype)) /*cast nullable TKwtype*/; + /* ./parser//parser.nit:21327 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21327); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:21329 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21329); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:21331 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21331); + nit_exit(1); + } + fra.me.REG[2] = NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(12); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21341 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction451___init(val_t p0, int* init_table){ + int itpos455 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction451].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos455]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21343; + fra.me.meth = LOCATE_parser___ReduceAction451___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21343 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos455] = 1; + return; +} +void parser___ReduceAction452___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21347; + fra.me.meth = LOCATE_parser___ReduceAction452___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility(); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(13); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21353 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction452___init(val_t p0, int* init_table){ + int itpos456 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction452].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos456]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21355; + fra.me.meth = LOCATE_parser___ReduceAction452___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21355 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos456] = 1; + return; +} +void parser___ReduceAction453___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21359; + fra.me.meth = LOCATE_parser___ReduceAction453___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwprivate, ID_TKwprivate)) /*cast nullable TKwprivate*/; + /* ./parser//parser.nit:21365 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21365); + nit_exit(1); + } + fra.me.REG[2] = NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(13); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21370 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction453___init(val_t p0, int* init_table){ + int itpos457 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction453].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos457]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21372; + fra.me.meth = LOCATE_parser___ReduceAction453___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21372 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos457] = 1; + return; +} +void parser___ReduceAction454___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21376; + fra.me.meth = LOCATE_parser___ReduceAction454___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwprotected, ID_TKwprotected)) /*cast nullable TKwprotected*/; + /* ./parser//parser.nit:21382 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21382); + nit_exit(1); + } + fra.me.REG[2] = NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(13); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21387 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction454___init(val_t p0, int* init_table){ + int itpos458 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction454].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos458]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21389; + fra.me.meth = LOCATE_parser___ReduceAction454___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21389 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos458] = 1; + return; +} +void parser___ReduceAction455___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21393; + fra.me.meth = LOCATE_parser___ReduceAction455___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwintrude, ID_TKwintrude)) /*cast nullable TKwintrude*/; + /* ./parser//parser.nit:21399 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21399); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(13); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21404 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction455___init(val_t p0, int* init_table){ + int itpos459 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction455].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos459]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21406; + fra.me.meth = LOCATE_parser___ReduceAction455___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21406 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos459] = 1; + return; +} +void parser___ReduceAction456___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21410; + fra.me.meth = LOCATE_parser___ReduceAction456___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:21418 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21418); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21420 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21420); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:21422 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:21423 */ + } else { + /* ./parser//parser.nit:21425 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(14); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21434 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction456___init(val_t p0, int* init_table){ + int itpos460 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction456].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos460]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21436; + fra.me.meth = LOCATE_parser___ReduceAction456___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21436 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos460] = 1; + return; +} +void parser___ReduceAction457___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21440; + fra.me.meth = LOCATE_parser___ReduceAction457___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21449 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21449); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:21451 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[4]; + /* ./parser//parser.nit:21452 */ + } else { + /* ./parser//parser.nit:21454 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:21458 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21458); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21460 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21460); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:21462 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:21463 */ + } else { + /* ./parser//parser.nit:21465 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(14); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21474 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction457___init(val_t p0, int* init_table){ + int itpos461 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction457].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos461]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21476; + fra.me.meth = LOCATE_parser___ReduceAction457___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21476 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos461] = 1; + return; +} +void parser___ReduceAction458___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21480; + fra.me.meth = LOCATE_parser___ReduceAction458___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:21488 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21488); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(14); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21495 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction458___init(val_t p0, int* init_table){ + int itpos462 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction458].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos462]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21497; + fra.me.meth = LOCATE_parser___ReduceAction458___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21497 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos462] = 1; + return; +} +void parser___ReduceAction459___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21501; + fra.me.meth = LOCATE_parser___ReduceAction459___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21510 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21510); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:21512 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:21513 */ + } else { + /* ./parser//parser.nit:21515 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:21519 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21519); + nit_exit(1); + } + fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[2], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(14); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21526 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction459___init(val_t p0, int* init_table){ + int itpos463 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction459].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos463]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21528; + fra.me.meth = LOCATE_parser___ReduceAction459___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21528 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos463] = 1; + return; +} +void parser___ReduceAction460___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21532; + fra.me.meth = LOCATE_parser___ReduceAction460___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21539 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21539); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:21541 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:21542 */ + } else { + /* ./parser//parser.nit:21544 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(14); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21553 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction460___init(val_t p0, int* init_table){ + int itpos464 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction460].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos464]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21555; + fra.me.meth = LOCATE_parser___ReduceAction460___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21555 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos464] = 1; + return; +} +void parser___ReduceAction461___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21559; + fra.me.meth = LOCATE_parser___ReduceAction461___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21567 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21567); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:21569 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:21570 */ + } else { + /* ./parser//parser.nit:21572 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21576 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21576); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:21578 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:21579 */ + } else { + /* ./parser//parser.nit:21581 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], NIT_NULL, fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(14); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21590 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction461___init(val_t p0, int* init_table){ + int itpos465 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction461].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos465]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21592; + fra.me.meth = LOCATE_parser___ReduceAction461___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21592 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos465] = 1; + return; +} +void parser___ReduceAction462___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21596; + fra.me.meth = LOCATE_parser___ReduceAction462___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[2], NIT_NULL, fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(14); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21608 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction462___init(val_t p0, int* init_table){ + int itpos466 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction462].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos466]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21610; + fra.me.meth = LOCATE_parser___ReduceAction462___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21610 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos466] = 1; + return; +} +void parser___ReduceAction463___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21614; + fra.me.meth = LOCATE_parser___ReduceAction463___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21622 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21622); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:21624 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:21625 */ + } else { + /* ./parser//parser.nit:21627 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(14); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21636 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction463___init(val_t p0, int* init_table){ + int itpos467 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction463].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos467]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21638; + fra.me.meth = LOCATE_parser___ReduceAction463___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21638 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos467] = 1; + return; +} +void parser___ReduceAction464___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21642; + fra.me.meth = LOCATE_parser___ReduceAction464___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[2], NIT_NULL, fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(15); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21653 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction464___init(val_t p0, int* init_table){ + int itpos468 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction464].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos468]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21655; + fra.me.meth = LOCATE_parser___ReduceAction464___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21655 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos468] = 1; + return; +} +void parser___ReduceAction465___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21659; + fra.me.meth = LOCATE_parser___ReduceAction465___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21666 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21666); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:21668 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:21669 */ + } else { + /* ./parser//parser.nit:21671 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(15); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21680 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction465___init(val_t p0, int* init_table){ + int itpos469 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction465].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos469]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21682; + fra.me.meth = LOCATE_parser___ReduceAction465___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21682 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos469] = 1; + return; +} +void parser___ReduceAction466___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21686; + fra.me.meth = LOCATE_parser___ReduceAction466___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:21693 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21693); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(15); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21700 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction466___init(val_t p0, int* init_table){ + int itpos470 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction466].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos470]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21702; + fra.me.meth = LOCATE_parser___ReduceAction466___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21702 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos470] = 1; + return; +} +void parser___ReduceAction467___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21706; + fra.me.meth = LOCATE_parser___ReduceAction467___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21714 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21714); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:21716 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:21717 */ + } else { + /* ./parser//parser.nit:21719 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:21723 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21723); + nit_exit(1); + } + fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[2], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(15); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21730 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction467___init(val_t p0, int* init_table){ + int itpos471 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction467].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos471]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21732; + fra.me.meth = LOCATE_parser___ReduceAction467___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21732 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos471] = 1; + return; +} +void parser___ReduceAction468___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21736; + fra.me.meth = LOCATE_parser___ReduceAction468___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/; + /* ./parser//parser.nit:21746 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21746); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:21747 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:21748 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(16); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21751 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction468___init(val_t p0, int* init_table){ + int itpos472 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction468].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos472]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21753; + fra.me.meth = LOCATE_parser___ReduceAction468___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21753 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos472] = 1; + return; +} +void parser___ReduceAction469___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21757; + fra.me.meth = LOCATE_parser___ReduceAction469___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/; + /* ./parser//parser.nit:21768 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21768); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21770 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21770); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:21771 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:21772 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:21775 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:21776 */ + } else { + /* ./parser//parser.nit:21778 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(16); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21782 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction469___init(val_t p0, int* init_table){ + int itpos473 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction469].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos473]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21784; + fra.me.meth = LOCATE_parser___ReduceAction469___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21784 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos473] = 1; + return; +} +void parser___ReduceAction470___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21788; + fra.me.meth = LOCATE_parser___ReduceAction470___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(16); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21796 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction470___init(val_t p0, int* init_table){ + int itpos474 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction470].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos474]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21798; + fra.me.meth = LOCATE_parser___ReduceAction470___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21798 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos474] = 1; + return; +} +void parser___ReduceAction471___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21802; + fra.me.meth = LOCATE_parser___ReduceAction471___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/; + /* ./parser//parser.nit:21809 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21809); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(17); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21811 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction471___init(val_t p0, int* init_table){ + int itpos475 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction471].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos475]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21813; + fra.me.meth = LOCATE_parser___ReduceAction471___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21813 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos475] = 1; + return; +} +void parser___ReduceAction472___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21817; + fra.me.meth = LOCATE_parser___ReduceAction472___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:21822 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21822); + nit_exit(1); + } + fra.me.REG[2] = NEW_AParam_parser_prod___AParam___init_aparam(fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(18); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21829 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction472___init(val_t p0, int* init_table){ + int itpos476 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction472].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos476]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21831; + fra.me.meth = LOCATE_parser___ReduceAction472___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21831 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos476] = 1; + return; +} +void parser___ReduceAction473___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21835; + fra.me.meth = LOCATE_parser___ReduceAction473___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:21841 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21841); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:21843 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21843); + nit_exit(1); + } + fra.me.REG[2] = NEW_AParam_parser_prod___AParam___init_aparam(fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(18); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21850 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction473___init(val_t p0, int* init_table){ + int itpos477 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction473].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos477]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21852; + fra.me.meth = LOCATE_parser___ReduceAction473___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21852 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos477] = 1; + return; +} +void parser___ReduceAction474___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21856; + fra.me.meth = LOCATE_parser___ReduceAction474___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:21863 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21863); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:21865 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21865); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TDotdotdot, ID_TDotdotdot)) /*cast nullable TDotdotdot*/; + /* ./parser//parser.nit:21867 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21867); + nit_exit(1); + } + fra.me.REG[2] = NEW_AParam_parser_prod___AParam___init_aparam(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(18); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21874 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction474___init(val_t p0, int* init_table){ + int itpos478 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction474].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos478]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21876; + fra.me.meth = LOCATE_parser___ReduceAction474___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21876 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos478] = 1; + return; +} +void parser___ReduceAction475___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21880; + fra.me.meth = LOCATE_parser___ReduceAction475___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:21887 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21887); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:21889 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:21890 */ + } else { + /* ./parser//parser.nit:21892 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(19); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21896 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction475___init(val_t p0, int* init_table){ + int itpos479 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction475].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos479]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21898; + fra.me.meth = LOCATE_parser___ReduceAction475___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21898 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos479] = 1; + return; +} +void parser___ReduceAction476___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21902; + fra.me.meth = LOCATE_parser___ReduceAction476___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:21910 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21910); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:21912 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21912); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:21914 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21914); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(20); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21923 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction476___init(val_t p0, int* init_table){ + int itpos480 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction476].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos480]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21925; + fra.me.meth = LOCATE_parser___ReduceAction476___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21925 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos480] = 1; + return; +} +void parser___ReduceAction477___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21929; + fra.me.meth = LOCATE_parser___ReduceAction477___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:21938 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21938); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:21940 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21940); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:21942 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21942); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:21944 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21944); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(20); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21953 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction477___init(val_t p0, int* init_table){ + int itpos481 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction477].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos481]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21955; + fra.me.meth = LOCATE_parser___ReduceAction477___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21955 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos481] = 1; + return; +} +void parser___ReduceAction478___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21959; + fra.me.meth = LOCATE_parser___ReduceAction478___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:21969 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21969); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:21971 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21971); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:21973 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21973); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:21975 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 21975); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(20); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:21984 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction478___init(val_t p0, int* init_table){ + int itpos482 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction478].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos482]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21986; + fra.me.meth = LOCATE_parser___ReduceAction478___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:21986 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos482] = 1; + return; +} +void parser___ReduceAction479___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 21990; + fra.me.meth = LOCATE_parser___ReduceAction479___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:22001 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22001); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:22003 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22003); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:22005 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22005); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:22007 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22007); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22009 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22009); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(20); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22018 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction479___init(val_t p0, int* init_table){ + int itpos483 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction479].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos483]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22020; + fra.me.meth = LOCATE_parser___ReduceAction479___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22020 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos483] = 1; + return; +} +void parser___ReduceAction480___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22024; + fra.me.meth = LOCATE_parser___ReduceAction480___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:22035 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22035); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:22037 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22037); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:22039 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22039); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22041 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22041); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(20); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22050 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction480___init(val_t p0, int* init_table){ + int itpos484 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction480].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos484]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22052; + fra.me.meth = LOCATE_parser___ReduceAction480___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22052 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos484] = 1; + return; +} +void parser___ReduceAction481___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22056; + fra.me.meth = LOCATE_parser___ReduceAction481___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:22068 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22068); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:22070 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22070); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:22072 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22072); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:22074 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22074); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22076 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22076); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(20); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22085 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction481___init(val_t p0, int* init_table){ + int itpos485 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction481].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos485]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22087; + fra.me.meth = LOCATE_parser___ReduceAction481___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22087 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos485] = 1; + return; +} +void parser___ReduceAction482___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22091; + fra.me.meth = LOCATE_parser___ReduceAction482___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22096 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22096); + nit_exit(1); + } + fra.me.REG[2] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(21); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22102 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction482___init(val_t p0, int* init_table){ + int itpos486 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction482].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos486]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22104; + fra.me.meth = LOCATE_parser___ReduceAction482___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22104 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos486] = 1; + return; +} +void parser___ReduceAction483___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22108; + fra.me.meth = LOCATE_parser___ReduceAction483___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:22114 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22114); + nit_exit(1); + } + fra.me.REG[3] = NEW_AType_parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[2], fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(22); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22121 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction483___init(val_t p0, int* init_table){ + int itpos487 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction483].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos487]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22123; + fra.me.meth = LOCATE_parser___ReduceAction483___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22123 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos487] = 1; + return; +} +void parser___ReduceAction484___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22127; + fra.me.meth = LOCATE_parser___ReduceAction484___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnullable, ID_TKwnullable)) /*cast nullable TKwnullable*/; + /* ./parser//parser.nit:22134 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22134); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:22136 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22136); + nit_exit(1); + } + fra.me.REG[4] = NEW_AType_parser_prod___AType___init_atype(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(22); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22143 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction484___init(val_t p0, int* init_table){ + int itpos488 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction484].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos488]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22145; + fra.me.meth = LOCATE_parser___ReduceAction484___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22145 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos488] = 1; + return; +} +void parser___ReduceAction485___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22149; + fra.me.meth = LOCATE_parser___ReduceAction485___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:22160 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22160); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22162 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22162); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:22164 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:22165 */ + } else { + /* ./parser//parser.nit:22167 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_AType_parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(22); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22176 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction485___init(val_t p0, int* init_table){ + int itpos489 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction485].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos489]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22178; + fra.me.meth = LOCATE_parser___ReduceAction485___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22178 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos489] = 1; + return; +} +void parser___ReduceAction486___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22182; + fra.me.meth = LOCATE_parser___ReduceAction486___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwnullable, ID_TKwnullable)) /*cast nullable TKwnullable*/; + /* ./parser//parser.nit:22194 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22194); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:22196 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22196); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22198 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22198); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:22200 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:22201 */ + } else { + /* ./parser//parser.nit:22203 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AType_parser_prod___AType___init_atype(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(22); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22212 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction486___init(val_t p0, int* init_table){ + int itpos490 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction486].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos490]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22214; + fra.me.meth = LOCATE_parser___ReduceAction486___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22214 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos490] = 1; + return; +} +void parser___ReduceAction487___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22218; + fra.me.meth = LOCATE_parser___ReduceAction487___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:22224 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22224); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:22225 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:22226 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(23); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22229 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction487___init(val_t p0, int* init_table){ + int itpos491 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction487].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos491]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22231; + fra.me.meth = LOCATE_parser___ReduceAction487___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22231 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos491] = 1; + return; +} +void parser___ReduceAction488___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22235; + fra.me.meth = LOCATE_parser___ReduceAction488___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:22242 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22242); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22244 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22244); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:22245 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:22246 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:22249 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:22250 */ + } else { + /* ./parser//parser.nit:22252 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(23); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22256 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction488___init(val_t p0, int* init_table){ + int itpos492 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction488].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos492]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22258; + fra.me.meth = LOCATE_parser___ReduceAction488___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22258 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos492] = 1; + return; +} +void parser___ReduceAction489___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22262; + fra.me.meth = LOCATE_parser___ReduceAction489___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:22269 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22269); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(24); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22271 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction489___init(val_t p0, int* init_table){ + int itpos493 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction489].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos493]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22273; + fra.me.meth = LOCATE_parser___ReduceAction489___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22273 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos493] = 1; + return; +} +void parser___ReduceAction490___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22277; + fra.me.meth = LOCATE_parser___ReduceAction490___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:22284 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22284); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(25); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22286 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction490___init(val_t p0, int* init_table){ + int itpos494 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction490].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos494]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22288; + fra.me.meth = LOCATE_parser___ReduceAction490___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22288 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos494] = 1; + return; +} +void parser___ReduceAction491___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22292; + fra.me.meth = LOCATE_parser___ReduceAction491___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22301 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22301); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:22302 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:22303 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(26); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22309 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction491___init(val_t p0, int* init_table){ + int itpos495 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction491].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos495]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22311; + fra.me.meth = LOCATE_parser___ReduceAction491___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22311 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos495] = 1; + return; +} +void parser___ReduceAction492___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22315; + fra.me.meth = LOCATE_parser___ReduceAction492___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22325 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22325); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22327 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22327); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:22328 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:22329 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:22332 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:22333 */ + } else { + /* ./parser//parser.nit:22335 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(26); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22342 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction492___init(val_t p0, int* init_table){ + int itpos496 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction492].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos496]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22344; + fra.me.meth = LOCATE_parser___ReduceAction492___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22344 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos496] = 1; + return; +} +void parser___ReduceAction493___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22348; + fra.me.meth = LOCATE_parser___ReduceAction493___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[2] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(26); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22358 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction493___init(val_t p0, int* init_table){ + int itpos497 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction493].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos497]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22360; + fra.me.meth = LOCATE_parser___ReduceAction493___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22360 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos497] = 1; + return; +} +void parser___ReduceAction494___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22364; + fra.me.meth = LOCATE_parser___ReduceAction494___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[2] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(26); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22373 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction494___init(val_t p0, int* init_table){ + int itpos498 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction494].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos498]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22375; + fra.me.meth = LOCATE_parser___ReduceAction494___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22375 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos498] = 1; + return; +} +void parser___ReduceAction495___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22379; + fra.me.meth = LOCATE_parser___ReduceAction495___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22384 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22384); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(26); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22386 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction495___init(val_t p0, int* init_table){ + int itpos499 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction495].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos499]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22388; + fra.me.meth = LOCATE_parser___ReduceAction495___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22388 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos499] = 1; + return; +} +void parser___ReduceAction496___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22392; + fra.me.meth = LOCATE_parser___ReduceAction496___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22398 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22398); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(27); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22400 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction496___init(val_t p0, int* init_table){ + int itpos500 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction496].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos500]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22402; + fra.me.meth = LOCATE_parser___ReduceAction496___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22402 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos500] = 1; + return; +} +void parser___ReduceAction497___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22406; + fra.me.meth = LOCATE_parser___ReduceAction497___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22411 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22411); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22413 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction497___init(val_t p0, int* init_table){ + int itpos501 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction497].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos501]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22415; + fra.me.meth = LOCATE_parser___ReduceAction497___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22415 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos501] = 1; + return; +} +void parser___ReduceAction498___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22419; + fra.me.meth = LOCATE_parser___ReduceAction498___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22424 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22424); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22426 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction498___init(val_t p0, int* init_table){ + int itpos502 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction498].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos502]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22428; + fra.me.meth = LOCATE_parser___ReduceAction498___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22428 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos502] = 1; + return; +} +void parser___ReduceAction499___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22432; + fra.me.meth = LOCATE_parser___ReduceAction499___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwreturn, ID_TKwreturn)) /*cast nullable TKwreturn*/; + /* ./parser//parser.nit:22437 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22437); + nit_exit(1); + } + fra.me.REG[2] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22443 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction499___init(val_t p0, int* init_table){ + int itpos503 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction499].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos503]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22445; + fra.me.meth = LOCATE_parser___ReduceAction499___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22445 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos503] = 1; + return; +} +void parser___ReduceAction500___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22449; + fra.me.meth = LOCATE_parser___ReduceAction500___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwreturn, ID_TKwreturn)) /*cast nullable TKwreturn*/; + /* ./parser//parser.nit:22455 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22455); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22457 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22457); + nit_exit(1); + } + fra.me.REG[2] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22463 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction500___init(val_t p0, int* init_table){ + int itpos504 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction500].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos504]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22465; + fra.me.meth = LOCATE_parser___ReduceAction500___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22465 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos504] = 1; + return; +} +void parser___ReduceAction501___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22469; + fra.me.meth = LOCATE_parser___ReduceAction501___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:22474 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22474); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22481 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction501___init(val_t p0, int* init_table){ + int itpos505 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction501].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos505]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22483; + fra.me.meth = LOCATE_parser___ReduceAction501___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22483 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos505] = 1; + return; +} +void parser___ReduceAction502___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22487; + fra.me.meth = LOCATE_parser___ReduceAction502___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:22493 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22493); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:22495 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22495); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22502 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction502___init(val_t p0, int* init_table){ + int itpos506 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction502].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos506]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22504; + fra.me.meth = LOCATE_parser___ReduceAction502___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22504 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos506] = 1; + return; +} +void parser___ReduceAction503___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22508; + fra.me.meth = LOCATE_parser___ReduceAction503___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:22514 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22514); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22516 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22516); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22523 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction503___init(val_t p0, int* init_table){ + int itpos507 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction503].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos507]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22525; + fra.me.meth = LOCATE_parser___ReduceAction503___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22525 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos507] = 1; + return; +} +void parser___ReduceAction504___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22529; + fra.me.meth = LOCATE_parser___ReduceAction504___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:22536 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22536); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:22538 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22538); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22540 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22540); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22547 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction504___init(val_t p0, int* init_table){ + int itpos508 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction504].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos508]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22549; + fra.me.meth = LOCATE_parser___ReduceAction504___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22549 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos508] = 1; + return; +} +void parser___ReduceAction505___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22553; + fra.me.meth = LOCATE_parser___ReduceAction505___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwabort, ID_TKwabort)) /*cast nullable TKwabort*/; + /* ./parser//parser.nit:22558 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22558); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22563 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction505___init(val_t p0, int* init_table){ + int itpos509 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction505].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos509]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22565; + fra.me.meth = LOCATE_parser___ReduceAction505___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22565 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos509] = 1; + return; +} +void parser___ReduceAction506___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22569; + fra.me.meth = LOCATE_parser___ReduceAction506___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/; + /* ./parser//parser.nit:22574 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22574); + nit_exit(1); + } + fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22581 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction506___init(val_t p0, int* init_table){ + int itpos510 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction506].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos510]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22583; + fra.me.meth = LOCATE_parser___ReduceAction506___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22583 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos510] = 1; + return; +} +void parser___ReduceAction507___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22587; + fra.me.meth = LOCATE_parser___ReduceAction507___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/; + /* ./parser//parser.nit:22593 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22593); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:22595 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22595); + nit_exit(1); + } + fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22602 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction507___init(val_t p0, int* init_table){ + int itpos511 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction507].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos511]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22604; + fra.me.meth = LOCATE_parser___ReduceAction507___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22604 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos511] = 1; + return; +} +void parser___ReduceAction508___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22608; + fra.me.meth = LOCATE_parser___ReduceAction508___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/; + /* ./parser//parser.nit:22614 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22614); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22616 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22616); + nit_exit(1); + } + fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22623 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction508___init(val_t p0, int* init_table){ + int itpos512 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction508].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos512]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22625; + fra.me.meth = LOCATE_parser___ReduceAction508___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22625 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos512] = 1; + return; +} +void parser___ReduceAction509___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22629; + fra.me.meth = LOCATE_parser___ReduceAction509___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/; + /* ./parser//parser.nit:22636 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22636); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:22638 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22638); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22640 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22640); + nit_exit(1); + } + fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22647 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction509___init(val_t p0, int* init_table){ + int itpos513 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction509].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos513]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22649; + fra.me.meth = LOCATE_parser___ReduceAction509___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22649 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos513] = 1; + return; +} +void parser___ReduceAction510___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22653; + fra.me.meth = LOCATE_parser___ReduceAction510___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22658 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22658); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22660 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction510___init(val_t p0, int* init_table){ + int itpos514 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction510].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos514]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22662; + fra.me.meth = LOCATE_parser___ReduceAction510___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22662 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos514] = 1; + return; +} +void parser___ReduceAction511___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22666; + fra.me.meth = LOCATE_parser___ReduceAction511___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22671 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22671); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22673 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction511___init(val_t p0, int* init_table){ + int itpos515 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction511].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos515]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22675; + fra.me.meth = LOCATE_parser___ReduceAction511___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22675 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos515] = 1; + return; +} +void parser___ReduceAction512___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22679; + fra.me.meth = LOCATE_parser___ReduceAction512___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22684 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22684); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22686 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction512___init(val_t p0, int* init_table){ + int itpos516 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction512].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos516]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22688; + fra.me.meth = LOCATE_parser___ReduceAction512___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22688 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos516] = 1; + return; +} +void parser___ReduceAction513___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22692; + fra.me.meth = LOCATE_parser___ReduceAction513___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22697 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22697); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22699 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction513___init(val_t p0, int* init_table){ + int itpos517 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction513].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos517]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22701; + fra.me.meth = LOCATE_parser___ReduceAction513___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22701 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos517] = 1; + return; +} +void parser___ReduceAction514___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22705; + fra.me.meth = LOCATE_parser___ReduceAction514___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22710 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22710); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22712 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction514___init(val_t p0, int* init_table){ + int itpos518 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction514].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos518]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22714; + fra.me.meth = LOCATE_parser___ReduceAction514___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22714 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos518] = 1; + return; +} +void parser___ReduceAction515___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22718; + fra.me.meth = LOCATE_parser___ReduceAction515___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22723 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22723); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22725 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction515___init(val_t p0, int* init_table){ + int itpos519 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction515].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos519]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22727; + fra.me.meth = LOCATE_parser___ReduceAction515___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22727 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos519] = 1; + return; +} +void parser___ReduceAction516___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22731; + fra.me.meth = LOCATE_parser___ReduceAction516___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22742 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22742); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:22744 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22744); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22746 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22746); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:22748 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:22749 */ + } else { + /* ./parser//parser.nit:22751 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22761 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction516___init(val_t p0, int* init_table){ + int itpos520 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction516].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos520]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22763; + fra.me.meth = LOCATE_parser___ReduceAction516___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22763 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos520] = 1; + return; +} +void parser___ReduceAction517___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22767; + fra.me.meth = LOCATE_parser___ReduceAction517___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:22777 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22777); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22779 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22779); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:22781 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:22782 */ + } else { + /* ./parser//parser.nit:22784 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22794 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction517___init(val_t p0, int* init_table){ + int itpos521 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction517].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos521]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22796; + fra.me.meth = LOCATE_parser___ReduceAction517___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22796 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos521] = 1; + return; +} +void parser___ReduceAction518___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22800; + fra.me.meth = LOCATE_parser___ReduceAction518___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22812 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22812); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:22814 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22814); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22816 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22816); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:22818 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:22819 */ + } else { + /* ./parser//parser.nit:22821 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22825 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22825); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:22827 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:22828 */ + } else { + /* ./parser//parser.nit:22830 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22840 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction518___init(val_t p0, int* init_table){ + int itpos522 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction518].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos522]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22842; + fra.me.meth = LOCATE_parser___ReduceAction518___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22842 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos522] = 1; + return; +} +void parser___ReduceAction519___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22846; + fra.me.meth = LOCATE_parser___ReduceAction519___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:22857 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22857); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22859 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22859); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:22861 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:22862 */ + } else { + /* ./parser//parser.nit:22864 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22868 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22868); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:22870 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:22871 */ + } else { + /* ./parser//parser.nit:22873 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22883 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction519___init(val_t p0, int* init_table){ + int itpos523 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction519].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos523]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22885; + fra.me.meth = LOCATE_parser___ReduceAction519___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22885 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos523] = 1; + return; +} +void parser___ReduceAction520___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22889; + fra.me.meth = LOCATE_parser___ReduceAction520___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:22896 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22896); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22898 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22898); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:22900 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:22901 */ + } else { + /* ./parser//parser.nit:22903 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22912 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction520___init(val_t p0, int* init_table){ + int itpos524 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction520].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos524]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22914; + fra.me.meth = LOCATE_parser___ReduceAction520___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22914 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos524] = 1; + return; +} +void parser___ReduceAction521___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22918; + fra.me.meth = LOCATE_parser___ReduceAction521___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/; + /* ./parser//parser.nit:22926 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22926); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:22928 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22928); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22930 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22930); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:22932 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:22933 */ + } else { + /* ./parser//parser.nit:22935 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22944 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction521___init(val_t p0, int* init_table){ + int itpos525 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction521].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos525]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22946; + fra.me.meth = LOCATE_parser___ReduceAction521___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22946 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos525] = 1; + return; +} +void parser___ReduceAction522___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22950; + fra.me.meth = LOCATE_parser___ReduceAction522___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:22960 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22960); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:22962 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22962); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22964 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22964); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:22966 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:22967 */ + } else { + /* ./parser//parser.nit:22969 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:22978 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction522___init(val_t p0, int* init_table){ + int itpos526 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction522].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos526]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22980; + fra.me.meth = LOCATE_parser___ReduceAction522___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:22980 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos526] = 1; + return; +} +void parser___ReduceAction523___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 22984; + fra.me.meth = LOCATE_parser___ReduceAction523___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:22993 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22993); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:22995 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 22995); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:22997 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:22998 */ + } else { + /* ./parser//parser.nit:23000 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(28); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23009 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction523___init(val_t p0, int* init_table){ + int itpos527 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction523].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos527]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23011; + fra.me.meth = LOCATE_parser___ReduceAction523___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23011 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos527] = 1; + return; +} +void parser___ReduceAction524___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23015; + fra.me.meth = LOCATE_parser___ReduceAction524___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwlabel, ID_TKwlabel)) /*cast nullable TKwlabel*/; + /* ./parser//parser.nit:23021 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23021); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:23023 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23023); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALabel_parser_prod___ALabel___init_alabel(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(29); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23029 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction524___init(val_t p0, int* init_table){ + int itpos528 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction524].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos528]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23031; + fra.me.meth = LOCATE_parser___ReduceAction524___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23031 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos528] = 1; + return; +} +void parser___ReduceAction525___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23035; + fra.me.meth = LOCATE_parser___ReduceAction525___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClosureDef, ID_AClosureDef)) /*cast nullable AClosureDef*/; + /* ./parser//parser.nit:23041 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23041); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:23042 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23043 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(30); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23046 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction525___init(val_t p0, int* init_table){ + int itpos529 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction525].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos529]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23048; + fra.me.meth = LOCATE_parser___ReduceAction525___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23048 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos529] = 1; + return; +} +void parser___ReduceAction526___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23052; + fra.me.meth = LOCATE_parser___ReduceAction526___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureDef, ID_AClosureDef)) /*cast nullable AClosureDef*/; + /* ./parser//parser.nit:23059 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23059); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23061 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23061); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:23062 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23063 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:23066 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:23067 */ + } else { + /* ./parser//parser.nit:23069 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(30); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23073 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction526___init(val_t p0, int* init_table){ + int itpos530 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction526].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos530]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23075; + fra.me.meth = LOCATE_parser___ReduceAction526___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23075 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos530] = 1; + return; +} +void parser___ReduceAction527___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23079; + fra.me.meth = LOCATE_parser___ReduceAction527___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23091 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23091); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23093 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23093); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23095 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23095); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23098 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23098); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:23099 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23100 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + fra.me.REG[7] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], NIT_NULL); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23114 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction527___init(val_t p0, int* init_table){ + int itpos531 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction527].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos531]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23116; + fra.me.meth = LOCATE_parser___ReduceAction527___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23116 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos531] = 1; + return; +} +void parser___ReduceAction528___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23120; + fra.me.meth = LOCATE_parser___ReduceAction528___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23133 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23133); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23135 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23135); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23137 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23137); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23140 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23140); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23142 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23142); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:23143 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23144 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:23147 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[2]; + /* ./parser//parser.nit:23148 */ + } else { + /* ./parser//parser.nit:23150 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + fra.me.REG[8] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[8], NIT_NULL); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23165 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction528___init(val_t p0, int* init_table){ + int itpos532 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction528].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos532]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23167; + fra.me.meth = LOCATE_parser___ReduceAction528___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23167 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos532] = 1; + return; +} +void parser___ReduceAction529___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23171; + fra.me.meth = LOCATE_parser___ReduceAction529___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23181 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23181); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23183 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23183); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23185 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23185); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + fra.me.REG[6] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[2], fra.me.REG[6], NIT_NULL); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23199 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction529___init(val_t p0, int* init_table){ + int itpos533 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction529].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos533]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23201; + fra.me.meth = LOCATE_parser___ReduceAction529___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23201 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos533] = 1; + return; +} +void parser___ReduceAction530___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23205; + fra.me.meth = LOCATE_parser___ReduceAction530___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23214 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23214); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23216 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23216); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23218 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23218); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + fra.me.REG[6] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[2], fra.me.REG[6], NIT_NULL); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23232 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction530___init(val_t p0, int* init_table){ + int itpos534 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction530].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos534]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23234; + fra.me.meth = LOCATE_parser___ReduceAction530___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23234 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos534] = 1; + return; +} +void parser___ReduceAction531___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23238; + fra.me.meth = LOCATE_parser___ReduceAction531___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23251 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23251); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23253 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23253); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23255 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23255); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:23257 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:23258 */ + } else { + /* ./parser//parser.nit:23260 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23264 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23264); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23267 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23267); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:23268 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23269 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + fra.me.REG[4] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], NIT_NULL); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23283 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction531___init(val_t p0, int* init_table){ + int itpos535 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction531].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos535]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23285; + fra.me.meth = LOCATE_parser___ReduceAction531___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23285 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos535] = 1; + return; +} +void parser___ReduceAction532___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23289; + fra.me.meth = LOCATE_parser___ReduceAction532___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23303 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23303); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23305 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23305); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23307 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23307); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:23309 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[5]; + /* ./parser//parser.nit:23310 */ + } else { + /* ./parser//parser.nit:23312 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23316 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23316); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23319 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23319); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23321 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23321); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:23322 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23323 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:23326 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:23327 */ + } else { + /* ./parser//parser.nit:23329 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23344 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction532___init(val_t p0, int* init_table){ + int itpos536 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction532].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos536]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23346; + fra.me.meth = LOCATE_parser___ReduceAction532___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23346 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos536] = 1; + return; +} +void parser___ReduceAction533___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23350; + fra.me.meth = LOCATE_parser___ReduceAction533___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23361 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23361); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23363 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23363); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23365 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23365); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:23367 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:23368 */ + } else { + /* ./parser//parser.nit:23370 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23374 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23374); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23388 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction533___init(val_t p0, int* init_table){ + int itpos537 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction533].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos537]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23390; + fra.me.meth = LOCATE_parser___ReduceAction533___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23390 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos537] = 1; + return; +} +void parser___ReduceAction534___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23394; + fra.me.meth = LOCATE_parser___ReduceAction534___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23404 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23404); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23406 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23406); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23408 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23408); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:23410 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:23411 */ + } else { + /* ./parser//parser.nit:23413 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23417 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23417); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23431 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction534___init(val_t p0, int* init_table){ + int itpos538 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction534].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos538]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23433; + fra.me.meth = LOCATE_parser___ReduceAction534___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23433 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos538] = 1; + return; +} +void parser___ReduceAction535___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23437; + fra.me.meth = LOCATE_parser___ReduceAction535___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23450 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23450); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23452 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23452); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23454 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23454); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23457 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23457); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:23458 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23459 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:23465 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23465); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[8], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23475 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction535___init(val_t p0, int* init_table){ + int itpos539 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction535].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos539]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23477; + fra.me.meth = LOCATE_parser___ReduceAction535___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23477 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos539] = 1; + return; +} +void parser___ReduceAction536___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23481; + fra.me.meth = LOCATE_parser___ReduceAction536___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23495 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23495); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23497 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23497); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23499 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23499); + nit_exit(1); + } + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23502 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23502); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23504 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23504); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:23505 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23506 */ + array___Array___add(fra.me.REG[9], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:23509 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[3]; + /* ./parser//parser.nit:23510 */ + } else { + /* ./parser//parser.nit:23512 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]); + } + fra.me.REG[9] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:23519 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23519); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[5], fra.me.REG[9], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23529 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction536___init(val_t p0, int* init_table){ + int itpos540 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction536].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos540]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23531; + fra.me.meth = LOCATE_parser___ReduceAction536___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23531 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos540] = 1; + return; +} +void parser___ReduceAction537___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23535; + fra.me.meth = LOCATE_parser___ReduceAction537___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23546 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23546); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23548 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23548); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23550 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23550); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:23556 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23556); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23566 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction537___init(val_t p0, int* init_table){ + int itpos541 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction537].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos541]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23568; + fra.me.meth = LOCATE_parser___ReduceAction537___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23568 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos541] = 1; + return; +} +void parser___ReduceAction538___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23572; + fra.me.meth = LOCATE_parser___ReduceAction538___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23582 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23582); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23584 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23584); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23586 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23586); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:23592 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23592); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23602 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction538___init(val_t p0, int* init_table){ + int itpos542 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction538].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos542]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23604; + fra.me.meth = LOCATE_parser___ReduceAction538___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23604 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos542] = 1; + return; +} +void parser___ReduceAction539___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23608; + fra.me.meth = LOCATE_parser___ReduceAction539___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23622 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23622); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23624 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23624); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23626 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23626); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:23628 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[5]; + /* ./parser//parser.nit:23629 */ + } else { + /* ./parser//parser.nit:23631 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23635 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23635); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23638 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23638); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:23639 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23640 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:23646 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23646); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23656 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction539___init(val_t p0, int* init_table){ + int itpos543 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction539].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos543]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23658; + fra.me.meth = LOCATE_parser___ReduceAction539___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23658 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos543] = 1; + return; +} +void parser___ReduceAction540___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23662; + fra.me.meth = LOCATE_parser___ReduceAction540___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23677 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23677); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23679 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23679); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23681 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23681); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:23683 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[6]; + /* ./parser//parser.nit:23684 */ + } else { + /* ./parser//parser.nit:23686 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23690 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23690); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23693 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23693); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23695 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23695); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:23696 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23697 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:23700 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:23701 */ + } else { + /* ./parser//parser.nit:23703 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:23710 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23710); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[9], fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23720 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction540___init(val_t p0, int* init_table){ + int itpos544 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction540].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos544]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23722; + fra.me.meth = LOCATE_parser___ReduceAction540___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23722 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos544] = 1; + return; +} +void parser___ReduceAction541___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23726; + fra.me.meth = LOCATE_parser___ReduceAction541___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23738 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23738); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23740 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23740); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23742 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23742); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:23744 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:23745 */ + } else { + /* ./parser//parser.nit:23747 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23751 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23751); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:23757 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23757); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23767 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction541___init(val_t p0, int* init_table){ + int itpos545 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction541].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos545]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23769; + fra.me.meth = LOCATE_parser___ReduceAction541___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23769 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos545] = 1; + return; +} +void parser___ReduceAction542___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23773; + fra.me.meth = LOCATE_parser___ReduceAction542___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23784 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23784); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23786 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23786); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23788 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23788); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:23790 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:23791 */ + } else { + /* ./parser//parser.nit:23793 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23797 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23797); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:23803 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23803); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23813 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction542___init(val_t p0, int* init_table){ + int itpos546 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction542].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos546]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23815; + fra.me.meth = LOCATE_parser___ReduceAction542___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23815 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos546] = 1; + return; +} +void parser___ReduceAction543___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23819; + fra.me.meth = LOCATE_parser___ReduceAction543___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23828 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23828); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23830 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23830); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23832 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23832); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23834 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23834); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23844 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction543___init(val_t p0, int* init_table){ + int itpos547 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction543].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos547]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23846; + fra.me.meth = LOCATE_parser___ReduceAction543___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23846 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos547] = 1; + return; +} +void parser___ReduceAction544___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23850; + fra.me.meth = LOCATE_parser___ReduceAction544___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23860 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23860); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23862 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23862); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23864 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23864); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:23866 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:23867 */ + } else { + /* ./parser//parser.nit:23869 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23873 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23873); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23875 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23875); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23885 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction544___init(val_t p0, int* init_table){ + int itpos548 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction544].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos548]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23887; + fra.me.meth = LOCATE_parser___ReduceAction544___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23887 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos548] = 1; + return; +} +void parser___ReduceAction545___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23891; + fra.me.meth = LOCATE_parser___ReduceAction545___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23901 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23901); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23903 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23903); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23905 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23905); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], NIT_NULL, fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23915 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction545___init(val_t p0, int* init_table){ + int itpos549 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction545].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos549]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23917; + fra.me.meth = LOCATE_parser___ReduceAction545___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23917 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos549] = 1; + return; +} +void parser___ReduceAction546___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23921; + fra.me.meth = LOCATE_parser___ReduceAction546___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23932 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23932); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23934 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23934); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:23936 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23936); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:23938 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:23939 */ + } else { + /* ./parser//parser.nit:23941 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23945 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23945); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], NIT_NULL, fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(31); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23955 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction546___init(val_t p0, int* init_table){ + int itpos550 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction546].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos550]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23957; + fra.me.meth = LOCATE_parser___ReduceAction546___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23957 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos550] = 1; + return; +} +void parser___ReduceAction547___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23961; + fra.me.meth = LOCATE_parser___ReduceAction547___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:23972 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23972); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:23974 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23974); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:23976 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23976); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:23979 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 23979); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:23980 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:23981 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + fra.me.REG[7] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], NIT_NULL); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(32); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:23995 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction547___init(val_t p0, int* init_table){ + int itpos551 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction547].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos551]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 23997; + fra.me.meth = LOCATE_parser___ReduceAction547___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:23997 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos551] = 1; + return; +} +void parser___ReduceAction548___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24001; + fra.me.meth = LOCATE_parser___ReduceAction548___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:24013 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24013); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:24015 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24015); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24017 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24017); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24020 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24020); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24022 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24022); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:24023 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:24024 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:24027 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[2]; + /* ./parser//parser.nit:24028 */ + } else { + /* ./parser//parser.nit:24030 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + fra.me.REG[8] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[8], NIT_NULL); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(32); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24045 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction548___init(val_t p0, int* init_table){ + int itpos552 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction548].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos552]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24047; + fra.me.meth = LOCATE_parser___ReduceAction548___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24047 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos552] = 1; + return; +} +void parser___ReduceAction549___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24051; + fra.me.meth = LOCATE_parser___ReduceAction549___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:24063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24063); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:24065 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24065); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24067 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24067); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:24069 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:24070 */ + } else { + /* ./parser//parser.nit:24072 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24076 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24076); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24079 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24079); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:24080 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:24081 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + fra.me.REG[4] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], NIT_NULL); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(32); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24095 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction549___init(val_t p0, int* init_table){ + int itpos553 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction549].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos553]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24097; + fra.me.meth = LOCATE_parser___ReduceAction549___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24097 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos553] = 1; + return; +} +void parser___ReduceAction550___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24101; + fra.me.meth = LOCATE_parser___ReduceAction550___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:24114 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24114); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:24116 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24116); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24118 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24118); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:24120 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[5]; + /* ./parser//parser.nit:24121 */ + } else { + /* ./parser//parser.nit:24123 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24127 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24127); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24130 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24130); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24132 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24132); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:24133 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:24134 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:24137 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:24138 */ + } else { + /* ./parser//parser.nit:24140 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(32); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24155 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction550___init(val_t p0, int* init_table){ + int itpos554 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction550].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos554]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24157; + fra.me.meth = LOCATE_parser___ReduceAction550___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24157 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos554] = 1; + return; +} +void parser___ReduceAction551___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24161; + fra.me.meth = LOCATE_parser___ReduceAction551___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:24170 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24170); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:24172 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24172); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24174 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24174); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(32); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24184 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction551___init(val_t p0, int* init_table){ + int itpos555 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction551].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos555]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24186; + fra.me.meth = LOCATE_parser___ReduceAction551___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24186 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos555] = 1; + return; +} +void parser___ReduceAction552___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24190; + fra.me.meth = LOCATE_parser___ReduceAction552___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:24200 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24200); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:24202 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24202); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24204 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24204); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:24206 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:24207 */ + } else { + /* ./parser//parser.nit:24209 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24213 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24213); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(32); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24223 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction552___init(val_t p0, int* init_table){ + int itpos556 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction552].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos556]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24225; + fra.me.meth = LOCATE_parser___ReduceAction552___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24225 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos556] = 1; + return; +} +void parser___ReduceAction553___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24229; + fra.me.meth = LOCATE_parser___ReduceAction553___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:24234 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24234); + nit_exit(1); + } + fra.me.REG[2] = NEW_ASimpleClosureId_parser_prod___ASimpleClosureId___init_asimpleclosureid(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(33); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24239 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction553___init(val_t p0, int* init_table){ + int itpos557 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction553].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos557]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24241; + fra.me.meth = LOCATE_parser___ReduceAction553___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24241 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos557] = 1; + return; +} +void parser___ReduceAction554___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24245; + fra.me.meth = LOCATE_parser___ReduceAction554___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:24250 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24250); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABreakClosureId_parser_prod___ABreakClosureId___init_abreakclosureid(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(33); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24255 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction554___init(val_t p0, int* init_table){ + int itpos558 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction554].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos558]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24257; + fra.me.meth = LOCATE_parser___ReduceAction554___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24257 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos558] = 1; + return; +} +void parser___ReduceAction555___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24261; + fra.me.meth = LOCATE_parser___ReduceAction555___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24266 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24266); + nit_exit(1); + } + fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(NIT_NULL, NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(34); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24273 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction555___init(val_t p0, int* init_table){ + int itpos559 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction555].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos559]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24275; + fra.me.meth = LOCATE_parser___ReduceAction555___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24275 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos559] = 1; + return; +} +void parser___ReduceAction556___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24279; + fra.me.meth = LOCATE_parser___ReduceAction556___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:24285 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24285); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:24287 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24287); + nit_exit(1); + } + fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(35); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24296 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction556___init(val_t p0, int* init_table){ + int itpos560 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction556].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos560]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24298; + fra.me.meth = LOCATE_parser___ReduceAction556___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24298 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos560] = 1; + return; +} +void parser___ReduceAction557___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24302; + fra.me.meth = LOCATE_parser___ReduceAction557___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:24309 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24309); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:24311 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24311); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:24313 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24313); + nit_exit(1); + } + fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(35); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24322 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction557___init(val_t p0, int* init_table){ + int itpos561 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction557].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos561]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24324; + fra.me.meth = LOCATE_parser___ReduceAction557___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24324 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos561] = 1; + return; +} +void parser___ReduceAction558___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24328; + fra.me.meth = LOCATE_parser___ReduceAction558___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:24337 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24337); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:24339 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24339); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:24341 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24341); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24343 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24343); + nit_exit(1); + } + fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(35); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24352 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction558___init(val_t p0, int* init_table){ + int itpos562 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction558].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos562]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24354; + fra.me.meth = LOCATE_parser___ReduceAction558___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24354 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos562] = 1; + return; +} +void parser___ReduceAction559___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24358; + fra.me.meth = LOCATE_parser___ReduceAction559___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:24368 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24368); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:24370 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24370); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:24372 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24372); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:24374 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24374); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24376 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24376); + nit_exit(1); + } + fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(35); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24385 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction559___init(val_t p0, int* init_table){ + int itpos563 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction559].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos563]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24387; + fra.me.meth = LOCATE_parser___ReduceAction559___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24387 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos563] = 1; + return; +} +void parser___ReduceAction560___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24391; + fra.me.meth = LOCATE_parser___ReduceAction560___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24401 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24401); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:24403 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24403); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:24405 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24405); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24407 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24407); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(36); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24415 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction560___init(val_t p0, int* init_table){ + int itpos564 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction560].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos564]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24417; + fra.me.meth = LOCATE_parser___ReduceAction560___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24417 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos564] = 1; + return; +} +void parser___ReduceAction561___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24421; + fra.me.meth = LOCATE_parser___ReduceAction561___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:24430 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24430); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:24432 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24432); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24434 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24434); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(36); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24442 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction561___init(val_t p0, int* init_table){ + int itpos565 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction561].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos565]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24444; + fra.me.meth = LOCATE_parser___ReduceAction561___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24444 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos565] = 1; + return; +} +void parser___ReduceAction562___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24448; + fra.me.meth = LOCATE_parser___ReduceAction562___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24460 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24460); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:24462 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24462); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24464 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24464); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:24466 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:24467 */ + } else { + /* ./parser//parser.nit:24469 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:24473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24473); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24475); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(36); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24484 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction562___init(val_t p0, int* init_table){ + int itpos566 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction562].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos566]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24486; + fra.me.meth = LOCATE_parser___ReduceAction562___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24486 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos566] = 1; + return; +} +void parser___ReduceAction563___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24490; + fra.me.meth = LOCATE_parser___ReduceAction563___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:24501 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24501); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24503 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24503); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:24505 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:24506 */ + } else { + /* ./parser//parser.nit:24508 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:24512 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24512); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24514 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24514); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(36); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24523 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction563___init(val_t p0, int* init_table){ + int itpos567 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction563].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos567]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24525; + fra.me.meth = LOCATE_parser___ReduceAction563___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24525 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos567] = 1; + return; +} +void parser___ReduceAction564___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24529; + fra.me.meth = LOCATE_parser___ReduceAction564___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24538 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24538); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24540 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24540); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:24542 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:24543 */ + } else { + /* ./parser//parser.nit:24545 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:24549 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24549); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24551 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24551); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(36); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24559 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction564___init(val_t p0, int* init_table){ + int itpos568 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction564].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos568]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24561; + fra.me.meth = LOCATE_parser___ReduceAction564___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24561 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos568] = 1; + return; +} +void parser___ReduceAction565___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24565; + fra.me.meth = LOCATE_parser___ReduceAction565___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24575 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24575); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:24577 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24577); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/; + /* ./parser//parser.nit:24579 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24579); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24581 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24581); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(36); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24589 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction565___init(val_t p0, int* init_table){ + int itpos569 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction565].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos569]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24591; + fra.me.meth = LOCATE_parser___ReduceAction565___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24591 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos569] = 1; + return; +} +void parser___ReduceAction566___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24595; + fra.me.meth = LOCATE_parser___ReduceAction566___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:24604 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24604); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/; + /* ./parser//parser.nit:24606 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24606); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24608 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24608); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(36); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24616 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction566___init(val_t p0, int* init_table){ + int itpos570 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction566].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos570]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24618; + fra.me.meth = LOCATE_parser___ReduceAction566___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24618 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos570] = 1; + return; +} +void parser___ReduceAction567___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24622; + fra.me.meth = LOCATE_parser___ReduceAction567___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24634 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24634); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:24636 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24636); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24638 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24638); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:24640 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:24641 */ + } else { + /* ./parser//parser.nit:24643 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/; + /* ./parser//parser.nit:24647 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24647); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24649 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24649); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(36); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24658 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction567___init(val_t p0, int* init_table){ + int itpos571 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction567].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos571]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24660; + fra.me.meth = LOCATE_parser___ReduceAction567___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24660 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos571] = 1; + return; +} +void parser___ReduceAction568___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24664; + fra.me.meth = LOCATE_parser___ReduceAction568___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:24675 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24675); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24677 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24677); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:24679 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:24680 */ + } else { + /* ./parser//parser.nit:24682 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/; + /* ./parser//parser.nit:24686 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24686); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24688 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24688); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(36); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24697 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction568___init(val_t p0, int* init_table){ + int itpos572 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction568].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos572]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24699; + fra.me.meth = LOCATE_parser___ReduceAction568___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24699 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos572] = 1; + return; +} +void parser___ReduceAction569___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24703; + fra.me.meth = LOCATE_parser___ReduceAction569___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24712 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24712); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24714 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24714); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:24716 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:24717 */ + } else { + /* ./parser//parser.nit:24719 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/; + /* ./parser//parser.nit:24723 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24723); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24725 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24725); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(36); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24733 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction569___init(val_t p0, int* init_table){ + int itpos573 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction569].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos573]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24735; + fra.me.meth = LOCATE_parser___ReduceAction569___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24735 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos573] = 1; + return; +} +void parser___ReduceAction570___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24739; + fra.me.meth = LOCATE_parser___ReduceAction570___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TPluseq, ID_TPluseq)) /*cast nullable TPluseq*/; + /* ./parser//parser.nit:24744 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24744); + nit_exit(1); + } + fra.me.REG[2] = NEW_APlusAssignOp_parser_prod___APlusAssignOp___init_aplusassignop(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(37); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24749 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction570___init(val_t p0, int* init_table){ + int itpos574 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction570].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos574]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24751; + fra.me.meth = LOCATE_parser___ReduceAction570___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24751 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos574] = 1; + return; +} +void parser___ReduceAction571___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24755; + fra.me.meth = LOCATE_parser___ReduceAction571___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TMinuseq, ID_TMinuseq)) /*cast nullable TMinuseq*/; + /* ./parser//parser.nit:24760 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24760); + nit_exit(1); + } + fra.me.REG[2] = NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___init_aminusassignop(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(37); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24765 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction571___init(val_t p0, int* init_table){ + int itpos575 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction571].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos575]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24767; + fra.me.meth = LOCATE_parser___ReduceAction571___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24767 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos575] = 1; + return; +} +void parser___ReduceAction572___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24771; + fra.me.meth = LOCATE_parser___ReduceAction572___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24780 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24780); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24783 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24783); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:24784 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:24785 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + fra.me.REG[4] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], NIT_NULL); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(38); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24796 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction572___init(val_t p0, int* init_table){ + int itpos576 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction572].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos576]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24798; + fra.me.meth = LOCATE_parser___ReduceAction572___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24798 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos576] = 1; + return; +} +void parser___ReduceAction573___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24802; + fra.me.meth = LOCATE_parser___ReduceAction573___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24812 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24812); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24815 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24815); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24817 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24817); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:24818 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:24819 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:24822 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:24823 */ + } else { + /* ./parser//parser.nit:24825 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(38); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24837 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction573___init(val_t p0, int* init_table){ + int itpos577 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction573].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos577]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24839; + fra.me.meth = LOCATE_parser___ReduceAction573___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24839 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos577] = 1; + return; +} +void parser___ReduceAction574___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24843; + fra.me.meth = LOCATE_parser___ReduceAction574___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24850 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24850); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(38); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24861 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction574___init(val_t p0, int* init_table){ + int itpos578 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction574].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos578]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24863; + fra.me.meth = LOCATE_parser___ReduceAction574___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24863 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos578] = 1; + return; +} +void parser___ReduceAction575___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24867; + fra.me.meth = LOCATE_parser___ReduceAction575___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24873 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24873); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(38); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24884 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction575___init(val_t p0, int* init_table){ + int itpos579 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction575].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos579]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24886; + fra.me.meth = LOCATE_parser___ReduceAction575___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24886 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos579] = 1; + return; +} +void parser___ReduceAction576___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24890; + fra.me.meth = LOCATE_parser___ReduceAction576___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24900 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24900); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24903 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24903); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:24904 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:24905 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:24911 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24911); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(38); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24918 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction576___init(val_t p0, int* init_table){ + int itpos580 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction576].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos580]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24920; + fra.me.meth = LOCATE_parser___ReduceAction576___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24920 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos580] = 1; + return; +} +void parser___ReduceAction577___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24924; + fra.me.meth = LOCATE_parser___ReduceAction577___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24935 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24935); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:24938 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24938); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:24940 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24940); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:24941 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:24942 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:24945 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:24946 */ + } else { + /* ./parser//parser.nit:24948 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:24955 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24955); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(38); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24962 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction577___init(val_t p0, int* init_table){ + int itpos581 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction577].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos581]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24964; + fra.me.meth = LOCATE_parser___ReduceAction577___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24964 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos581] = 1; + return; +} +void parser___ReduceAction578___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24968; + fra.me.meth = LOCATE_parser___ReduceAction578___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:24976 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24976); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:24982 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 24982); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(38); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:24989 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction578___init(val_t p0, int* init_table){ + int itpos582 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction578].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos582]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24991; + fra.me.meth = LOCATE_parser___ReduceAction578___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:24991 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos582] = 1; + return; +} +void parser___ReduceAction579___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 24995; + fra.me.meth = LOCATE_parser___ReduceAction579___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25002 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25002); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:25008 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25008); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(38); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25015 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction579___init(val_t p0, int* init_table){ + int itpos583 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction579].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos583]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25017; + fra.me.meth = LOCATE_parser___ReduceAction579___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25017 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos583] = 1; + return; +} +void parser___ReduceAction580___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25021; + fra.me.meth = LOCATE_parser___ReduceAction580___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25027 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25027); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25029 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25029); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(38); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25036 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction580___init(val_t p0, int* init_table){ + int itpos584 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction580].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos584]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25038; + fra.me.meth = LOCATE_parser___ReduceAction580___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25038 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos584] = 1; + return; +} +void parser___ReduceAction581___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25042; + fra.me.meth = LOCATE_parser___ReduceAction581___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:25054 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25054); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25056 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25056); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25058 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25058); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25060 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25060); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(39); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25068 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction581___init(val_t p0, int* init_table){ + int itpos585 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction581].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos585]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25070; + fra.me.meth = LOCATE_parser___ReduceAction581___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25070 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos585] = 1; + return; +} +void parser___ReduceAction582___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25074; + fra.me.meth = LOCATE_parser___ReduceAction582___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:25084 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25084); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25086 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25086); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25088 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25088); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(39); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25096 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction582___init(val_t p0, int* init_table){ + int itpos586 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction582].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos586]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25098; + fra.me.meth = LOCATE_parser___ReduceAction582___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25098 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos586] = 1; + return; +} +void parser___ReduceAction583___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25102; + fra.me.meth = LOCATE_parser___ReduceAction583___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:25115 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25115); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25117 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25117); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25120 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25120); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:25121 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25122 */ + array___Array___add(fra.me.REG[6], fra.me.REG[3]); + } + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25128 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25128); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(39); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25136 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction583___init(val_t p0, int* init_table){ + int itpos587 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction583].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos587]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25138; + fra.me.meth = LOCATE_parser___ReduceAction583___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25138 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos587] = 1; + return; +} +void parser___ReduceAction584___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25142; + fra.me.meth = LOCATE_parser___ReduceAction584___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:25156 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25156); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25158 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25158); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25161 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25161); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:25163 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25163); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:25164 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25165 */ + array___Array___add(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:25168 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[3]; + /* ./parser//parser.nit:25169 */ + } else { + /* ./parser//parser.nit:25171 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]); + } + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25178 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25178); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(39); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25186 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction584___init(val_t p0, int* init_table){ + int itpos588 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction584].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos588]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25188; + fra.me.meth = LOCATE_parser___ReduceAction584___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25188 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos588] = 1; + return; +} +void parser___ReduceAction585___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25192; + fra.me.meth = LOCATE_parser___ReduceAction585___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:25202 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25202); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25204 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25204); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25206 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25206); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(39); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25214 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction585___init(val_t p0, int* init_table){ + int itpos589 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction585].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos589]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25216; + fra.me.meth = LOCATE_parser___ReduceAction585___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25216 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos589] = 1; + return; +} +void parser___ReduceAction586___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25220; + fra.me.meth = LOCATE_parser___ReduceAction586___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:25231 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25231); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25233 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25233); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25235 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25235); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(39); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25243 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction586___init(val_t p0, int* init_table){ + int itpos590 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction586].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos590]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25245; + fra.me.meth = LOCATE_parser___ReduceAction586___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25245 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos590] = 1; + return; +} +void parser___ReduceAction587___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25249; + fra.me.meth = LOCATE_parser___ReduceAction587___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25255 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25255); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(40); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25257 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction587___init(val_t p0, int* init_table){ + int itpos591 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction587].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos591]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25259; + fra.me.meth = LOCATE_parser___ReduceAction587___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25259 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos591] = 1; + return; +} +void parser___ReduceAction588___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25263; + fra.me.meth = LOCATE_parser___ReduceAction588___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[0] = NIT_NULL; + REGB0 = TAG_Int(40); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25268 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction588___init(val_t p0, int* init_table){ + int itpos592 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction588].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos592]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25270; + fra.me.meth = LOCATE_parser___ReduceAction588___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25270 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos592] = 1; + return; +} +void parser___ReduceAction589___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25274; + fra.me.meth = LOCATE_parser___ReduceAction589___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:25283 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25283); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25286 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25286); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:25287 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25288 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + fra.me.REG[4] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], NIT_NULL); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(41); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25299 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction589___init(val_t p0, int* init_table){ + int itpos593 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction589].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos593]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25301; + fra.me.meth = LOCATE_parser___ReduceAction589___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25301 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos593] = 1; + return; +} +void parser___ReduceAction590___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25305; + fra.me.meth = LOCATE_parser___ReduceAction590___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:25315 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25315); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25318); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:25320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25320); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:25321 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25322 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:25325 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:25326 */ + } else { + /* ./parser//parser.nit:25328 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(41); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25340 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction590___init(val_t p0, int* init_table){ + int itpos594 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction590].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos594]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25342; + fra.me.meth = LOCATE_parser___ReduceAction590___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25342 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos594] = 1; + return; +} +void parser___ReduceAction591___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25346; + fra.me.meth = LOCATE_parser___ReduceAction591___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:25353 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25353); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(41); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25364 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction591___init(val_t p0, int* init_table){ + int itpos595 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction591].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos595]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25366; + fra.me.meth = LOCATE_parser___ReduceAction591___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25366 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos595] = 1; + return; +} +void parser___ReduceAction592___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25370; + fra.me.meth = LOCATE_parser___ReduceAction592___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:25376 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25376); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(41); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25387 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction592___init(val_t p0, int* init_table){ + int itpos596 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction592].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos596]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25389; + fra.me.meth = LOCATE_parser___ReduceAction592___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25389 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos596] = 1; + return; +} +void parser___ReduceAction593___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25393; + fra.me.meth = LOCATE_parser___ReduceAction593___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:25403 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25403); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25406 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25406); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:25407 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25408 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:25414 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25414); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(41); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25421 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction593___init(val_t p0, int* init_table){ + int itpos597 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction593].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos597]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25423; + fra.me.meth = LOCATE_parser___ReduceAction593___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25423 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos597] = 1; + return; +} +void parser___ReduceAction594___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25427; + fra.me.meth = LOCATE_parser___ReduceAction594___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:25438 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25438); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25441 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25441); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:25443 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25443); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:25444 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25445 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:25448 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:25449 */ + } else { + /* ./parser//parser.nit:25451 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:25458 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25458); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(41); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25465 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction594___init(val_t p0, int* init_table){ + int itpos598 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction594].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos598]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25467; + fra.me.meth = LOCATE_parser___ReduceAction594___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25467 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos598] = 1; + return; +} +void parser___ReduceAction595___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25471; + fra.me.meth = LOCATE_parser___ReduceAction595___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:25479 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25479); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:25485 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25485); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(41); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25492 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction595___init(val_t p0, int* init_table){ + int itpos599 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction595].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos599]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25494; + fra.me.meth = LOCATE_parser___ReduceAction595___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25494 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos599] = 1; + return; +} +void parser___ReduceAction596___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25498; + fra.me.meth = LOCATE_parser___ReduceAction596___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:25505 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25505); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:25511 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25511); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(41); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25518 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction596___init(val_t p0, int* init_table){ + int itpos600 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction596].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos600]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25520; + fra.me.meth = LOCATE_parser___ReduceAction596___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25520 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos600] = 1; + return; +} +void parser___ReduceAction597___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25524; + fra.me.meth = LOCATE_parser___ReduceAction597___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:25530 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25530); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25532 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25532); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(41); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25539 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction597___init(val_t p0, int* init_table){ + int itpos601 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction597].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos601]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25541; + fra.me.meth = LOCATE_parser___ReduceAction597___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25541 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos601] = 1; + return; +} +void parser___ReduceAction598___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25545; + fra.me.meth = LOCATE_parser___ReduceAction598___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:25558 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25558); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25560 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25560); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25562 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25562); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25565 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25565); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:25566 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25567 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + fra.me.REG[6] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], NIT_NULL); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(42); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25580 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction598___init(val_t p0, int* init_table){ + int itpos602 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction598].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos602]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25582; + fra.me.meth = LOCATE_parser___ReduceAction598___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25582 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos602] = 1; + return; +} +void parser___ReduceAction599___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25586; + fra.me.meth = LOCATE_parser___ReduceAction599___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:25600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25600); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25602 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25602); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25604 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25604); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25607 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25607); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:25609 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25609); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:25610 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25611 */ + array___Array___add(fra.me.REG[7], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:25614 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:25615 */ + } else { + /* ./parser//parser.nit:25617 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + fra.me.REG[7] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7], NIT_NULL); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(42); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25631 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction599___init(val_t p0, int* init_table){ + int itpos603 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction599].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos603]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25633; + fra.me.meth = LOCATE_parser___ReduceAction599___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25633 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos603] = 1; + return; +} +void parser___ReduceAction600___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25637; + fra.me.meth = LOCATE_parser___ReduceAction600___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:25648 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25648); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25650 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25650); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25652 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25652); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(42); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25665 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction600___init(val_t p0, int* init_table){ + int itpos604 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction600].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos604]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25667; + fra.me.meth = LOCATE_parser___ReduceAction600___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25667 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos604] = 1; + return; +} +void parser___ReduceAction601___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25671; + fra.me.meth = LOCATE_parser___ReduceAction601___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:25681 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25681); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25683 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25683); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25685 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25685); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(42); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25698 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction601___init(val_t p0, int* init_table){ + int itpos605 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction601].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos605]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25700; + fra.me.meth = LOCATE_parser___ReduceAction601___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25700 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos605] = 1; + return; +} +void parser___ReduceAction602___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25704; + fra.me.meth = LOCATE_parser___ReduceAction602___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:25718 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25718); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25720 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25720); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25722 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25722); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25725 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25725); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:25726 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25727 */ + array___Array___add(fra.me.REG[7], fra.me.REG[3]); + } + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:25733 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25733); + nit_exit(1); + } + fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(42); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25742 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction602___init(val_t p0, int* init_table){ + int itpos606 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction602].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos606]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25744; + fra.me.meth = LOCATE_parser___ReduceAction602___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25744 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos606] = 1; + return; +} +void parser___ReduceAction603___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25748; + fra.me.meth = LOCATE_parser___ReduceAction603___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:25763 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25763); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25765); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25767); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25770 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25770); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:25772 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25772); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:25773 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25774 */ + array___Array___add(fra.me.REG[8], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:25777 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[3]; + /* ./parser//parser.nit:25778 */ + } else { + /* ./parser//parser.nit:25780 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:25787 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25787); + nit_exit(1); + } + fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[8], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(42); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25796 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction603___init(val_t p0, int* init_table){ + int itpos607 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction603].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos607]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25798; + fra.me.meth = LOCATE_parser___ReduceAction603___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25798 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos607] = 1; + return; +} +void parser___ReduceAction604___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25802; + fra.me.meth = LOCATE_parser___ReduceAction604___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:25814 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25814); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25816 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25816); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25818 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25818); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:25824 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25824); + nit_exit(1); + } + fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(42); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25833 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction604___init(val_t p0, int* init_table){ + int itpos608 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction604].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos608]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25835; + fra.me.meth = LOCATE_parser___ReduceAction604___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25835 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos608] = 1; + return; +} +void parser___ReduceAction605___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25839; + fra.me.meth = LOCATE_parser___ReduceAction605___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:25850 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25850); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25852 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25852); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25854 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25854); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:25860 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25860); + nit_exit(1); + } + fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(42); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25869 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction605___init(val_t p0, int* init_table){ + int itpos609 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction605].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos609]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25871; + fra.me.meth = LOCATE_parser___ReduceAction605___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25871 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos609] = 1; + return; +} +void parser___ReduceAction606___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25875; + fra.me.meth = LOCATE_parser___ReduceAction606___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:25885 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25885); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25887 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25887); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25889 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25889); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25891 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25891); + nit_exit(1); + } + fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(42); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25900 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction606___init(val_t p0, int* init_table){ + int itpos610 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction606].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos610]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25902; + fra.me.meth = LOCATE_parser___ReduceAction606___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25902 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos610] = 1; + return; +} +void parser___ReduceAction607___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25906; + fra.me.meth = LOCATE_parser___ReduceAction607___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:25923 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25923); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:25925 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25925); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25927 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25927); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25929 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25929); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25932 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25932); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:25933 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25934 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + fra.me.REG[7] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], NIT_NULL); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(43); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:25948 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction607___init(val_t p0, int* init_table){ + int itpos611 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction607].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos611]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25950; + fra.me.meth = LOCATE_parser___ReduceAction607___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:25950 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos611] = 1; + return; +} +void parser___ReduceAction608___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 25954; + fra.me.meth = LOCATE_parser___ReduceAction608___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:25972 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25972); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:25974 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25974); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25976 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25976); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:25978 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25978); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:25981 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25981); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:25983 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 25983); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:25984 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:25985 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:25988 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[2]; + /* ./parser//parser.nit:25989 */ + } else { + /* ./parser//parser.nit:25991 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + fra.me.REG[8] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], NIT_NULL); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(43); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26006 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction608___init(val_t p0, int* init_table){ + int itpos612 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction608].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos612]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26008; + fra.me.meth = LOCATE_parser___ReduceAction608___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26008 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos612] = 1; + return; +} +void parser___ReduceAction609___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26012; + fra.me.meth = LOCATE_parser___ReduceAction609___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:26027 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26027); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26029 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26029); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26031 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26031); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:26033 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26033); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + fra.me.REG[6] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[6], NIT_NULL); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(43); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26047 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction609___init(val_t p0, int* init_table){ + int itpos613 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction609].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos613]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26049; + fra.me.meth = LOCATE_parser___ReduceAction609___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26049 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos613] = 1; + return; +} +void parser___ReduceAction610___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26053; + fra.me.meth = LOCATE_parser___ReduceAction610___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:26067 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26067); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26069 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26069); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26071 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26071); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:26073 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26073); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + fra.me.REG[6] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[6], NIT_NULL); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(43); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26087 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction610___init(val_t p0, int* init_table){ + int itpos614 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction610].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos614]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26089; + fra.me.meth = LOCATE_parser___ReduceAction610___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26089 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos614] = 1; + return; +} +void parser___ReduceAction611___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26093; + fra.me.meth = LOCATE_parser___ReduceAction611___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:26111 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26111); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26113 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26113); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26115 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26115); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:26117 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26117); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26120 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26120); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:26121 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:26122 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:26128 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26128); + nit_exit(1); + } + fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(43); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26138 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction611___init(val_t p0, int* init_table){ + int itpos615 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction611].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos615]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26140; + fra.me.meth = LOCATE_parser___ReduceAction611___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26140 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos615] = 1; + return; +} +void parser___ReduceAction612___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26144; + fra.me.meth = LOCATE_parser___ReduceAction612___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:26163 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26163); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26165 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26165); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26167 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26167); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:26169 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26169); + nit_exit(1); + } + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26172 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26172); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:26174 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26174); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:26175 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:26176 */ + array___Array___add(fra.me.REG[9], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:26179 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[3]; + /* ./parser//parser.nit:26180 */ + } else { + /* ./parser//parser.nit:26182 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]); + } + fra.me.REG[9] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:26189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26189); + nit_exit(1); + } + fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(43); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26199 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction612___init(val_t p0, int* init_table){ + int itpos616 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction612].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos616]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26201; + fra.me.meth = LOCATE_parser___ReduceAction612___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26201 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos616] = 1; + return; +} +void parser___ReduceAction613___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26205; + fra.me.meth = LOCATE_parser___ReduceAction613___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:26221 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26221); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26223 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26223); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26225 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26225); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:26227 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26227); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:26233 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26233); + nit_exit(1); + } + fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(43); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26243 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction613___init(val_t p0, int* init_table){ + int itpos617 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction613].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos617]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26245; + fra.me.meth = LOCATE_parser___ReduceAction613___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26245 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos617] = 1; + return; +} +void parser___ReduceAction614___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26249; + fra.me.meth = LOCATE_parser___ReduceAction614___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:26264 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26264); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26266 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26266); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26268 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26268); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:26270 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26270); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:26276 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26276); + nit_exit(1); + } + fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(43); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26286 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction614___init(val_t p0, int* init_table){ + int itpos618 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction614].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos618]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26288; + fra.me.meth = LOCATE_parser___ReduceAction614___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26288 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos618] = 1; + return; +} +void parser___ReduceAction615___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26292; + fra.me.meth = LOCATE_parser___ReduceAction615___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:26306 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26306); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26308 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26308); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26310 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26310); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:26312 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26312); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26314 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26314); + nit_exit(1); + } + fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(43); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26324 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction615___init(val_t p0, int* init_table){ + int itpos619 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction615].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos619]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26326; + fra.me.meth = LOCATE_parser___ReduceAction615___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26326 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos619] = 1; + return; +} +void parser___ReduceAction616___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26330; + fra.me.meth = LOCATE_parser___ReduceAction616___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/; + /* ./parser//parser.nit:26338 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26338); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26340 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26340); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26342 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26342); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(44); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26350 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction616___init(val_t p0, int* init_table){ + int itpos620 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction616].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos620]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26352; + fra.me.meth = LOCATE_parser___ReduceAction616___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26352 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos620] = 1; + return; +} +void parser___ReduceAction617___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26356; + fra.me.meth = LOCATE_parser___ReduceAction617___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/; + /* ./parser//parser.nit:26365 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26365); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26367 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26367); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26369 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26369); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26371 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26371); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(44); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26379 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction617___init(val_t p0, int* init_table){ + int itpos621 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction617].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos621]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26381; + fra.me.meth = LOCATE_parser___ReduceAction617___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26381 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos621] = 1; + return; +} +void parser___ReduceAction618___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26385; + fra.me.meth = LOCATE_parser___ReduceAction618___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/; + /* ./parser//parser.nit:26391 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26391); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26393 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26393); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[3], NIT_NULL, fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(44); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26401 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction618___init(val_t p0, int* init_table){ + int itpos622 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction618].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos622]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26403; + fra.me.meth = LOCATE_parser___ReduceAction618___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26403 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos622] = 1; + return; +} +void parser___ReduceAction619___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26407; + fra.me.meth = LOCATE_parser___ReduceAction619___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/; + /* ./parser//parser.nit:26414 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26414); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26416 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26416); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26418 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26418); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(44); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26426 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction619___init(val_t p0, int* init_table){ + int itpos623 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction619].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos623]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26428; + fra.me.meth = LOCATE_parser___ReduceAction619___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26428 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos623] = 1; + return; +} +void parser___ReduceAction620___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26432; + fra.me.meth = LOCATE_parser___ReduceAction620___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26438 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26438); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(45); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26440 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction620___init(val_t p0, int* init_table){ + int itpos624 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction620].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos624]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26442; + fra.me.meth = LOCATE_parser___ReduceAction620___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26442 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos624] = 1; + return; +} +void parser___ReduceAction621___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26446; + fra.me.meth = LOCATE_parser___ReduceAction621___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26451 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26451); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(46); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26453 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction621___init(val_t p0, int* init_table){ + int itpos625 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction621].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos625]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26455; + fra.me.meth = LOCATE_parser___ReduceAction621___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26455 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos625] = 1; + return; +} +void parser___ReduceAction622___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26459; + fra.me.meth = LOCATE_parser___ReduceAction622___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26471 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26471); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26473); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:26475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26475); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:26477 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:26478 */ + } else { + /* ./parser//parser.nit:26480 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:26484 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26484); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:26486 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:26487 */ + } else { + /* ./parser//parser.nit:26489 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(46); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26499 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction622___init(val_t p0, int* init_table){ + int itpos626 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction622].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos626]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26501; + fra.me.meth = LOCATE_parser___ReduceAction622___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26501 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos626] = 1; + return; +} +void parser___ReduceAction623___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26505; + fra.me.meth = LOCATE_parser___ReduceAction623___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:26516 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26516); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:26518 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26518); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:26520 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:26521 */ + } else { + /* ./parser//parser.nit:26523 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:26527 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26527); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:26529 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:26530 */ + } else { + /* ./parser//parser.nit:26532 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(46); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26542 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction623___init(val_t p0, int* init_table){ + int itpos627 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction623].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos627]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26544; + fra.me.meth = LOCATE_parser___ReduceAction623___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26544 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos627] = 1; + return; +} +void parser___ReduceAction624___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26548; + fra.me.meth = LOCATE_parser___ReduceAction624___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26557 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26557); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:26559 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26559); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:26561 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:26562 */ + } else { + /* ./parser//parser.nit:26564 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:26568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26568); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:26570 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:26571 */ + } else { + /* ./parser//parser.nit:26573 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(46); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26582 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction624___init(val_t p0, int* init_table){ + int itpos628 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction624].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos628]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26584; + fra.me.meth = LOCATE_parser___ReduceAction624___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26584 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos628] = 1; + return; +} +void parser___ReduceAction625___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26588; + fra.me.meth = LOCATE_parser___ReduceAction625___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26593 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26593); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(47); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26595 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction625___init(val_t p0, int* init_table){ + int itpos629 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction625].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos629]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26597; + fra.me.meth = LOCATE_parser___ReduceAction625___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26597 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos629] = 1; + return; +} +void parser___ReduceAction626___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26601; + fra.me.meth = LOCATE_parser___ReduceAction626___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:26616 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26616); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26618 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26618); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwthen, ID_TKwthen)) /*cast nullable TKwthen*/; + /* ./parser//parser.nit:26620 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26620); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26622 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26622); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwelse, ID_TKwelse)) /*cast nullable TKwelse*/; + /* ./parser//parser.nit:26624 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26624); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26626 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26626); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(47); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26636 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction626___init(val_t p0, int* init_table){ + int itpos630 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction626].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos630]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26638; + fra.me.meth = LOCATE_parser___ReduceAction626___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26638 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos630] = 1; + return; +} +void parser___ReduceAction627___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26642; + fra.me.meth = LOCATE_parser___ReduceAction627___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26647 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26647); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(48); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26649 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction627___init(val_t p0, int* init_table){ + int itpos631 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction627].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos631]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26651; + fra.me.meth = LOCATE_parser___ReduceAction627___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26651 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos631] = 1; + return; +} +void parser___ReduceAction628___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26655; + fra.me.meth = LOCATE_parser___ReduceAction628___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26663 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26663); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26665 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26665); + nit_exit(1); + } + fra.me.REG[2] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(48); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26671 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction628___init(val_t p0, int* init_table){ + int itpos632 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction628].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos632]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26673; + fra.me.meth = LOCATE_parser___ReduceAction628___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26673 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos632] = 1; + return; +} +void parser___ReduceAction629___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26677; + fra.me.meth = LOCATE_parser___ReduceAction629___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26685 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26685); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26687 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26687); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(48); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26693 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction629___init(val_t p0, int* init_table){ + int itpos633 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction629].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos633]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26695; + fra.me.meth = LOCATE_parser___ReduceAction629___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26695 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos633] = 1; + return; +} +void parser___ReduceAction630___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26699; + fra.me.meth = LOCATE_parser___ReduceAction630___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26704 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26704); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(49); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26706 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction630___init(val_t p0, int* init_table){ + int itpos634 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction630].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos634]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26708; + fra.me.meth = LOCATE_parser___ReduceAction630___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26708 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos634] = 1; + return; +} +void parser___ReduceAction631___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26712; + fra.me.meth = LOCATE_parser___ReduceAction631___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/; + /* ./parser//parser.nit:26719 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26719); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26721 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26721); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(49); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26727 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction631___init(val_t p0, int* init_table){ + int itpos635 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction631].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos635]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26729; + fra.me.meth = LOCATE_parser___ReduceAction631___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26729 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos635] = 1; + return; +} +void parser___ReduceAction632___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26733; + fra.me.meth = LOCATE_parser___ReduceAction632___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26738 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26738); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(50); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26740 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction632___init(val_t p0, int* init_table){ + int itpos636 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction632].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos636]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26742; + fra.me.meth = LOCATE_parser___ReduceAction632___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26742 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos636] = 1; + return; +} +void parser___ReduceAction633___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26746; + fra.me.meth = LOCATE_parser___ReduceAction633___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26754 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26754); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26756 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26756); + nit_exit(1); + } + fra.me.REG[2] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(50); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26762 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction633___init(val_t p0, int* init_table){ + int itpos637 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction633].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos637]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26764; + fra.me.meth = LOCATE_parser___ReduceAction633___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26764 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos637] = 1; + return; +} +void parser___ReduceAction634___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26768; + fra.me.meth = LOCATE_parser___ReduceAction634___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26776 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26776); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26778 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26778); + nit_exit(1); + } + fra.me.REG[2] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(50); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26784 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction634___init(val_t p0, int* init_table){ + int itpos638 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction634].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos638]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26786; + fra.me.meth = LOCATE_parser___ReduceAction634___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26786 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos638] = 1; + return; +} +void parser___ReduceAction635___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26790; + fra.me.meth = LOCATE_parser___ReduceAction635___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26798 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26798); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26800 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26800); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(50); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26806 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction635___init(val_t p0, int* init_table){ + int itpos639 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction635].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos639]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26808; + fra.me.meth = LOCATE_parser___ReduceAction635___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26808 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos639] = 1; + return; +} +void parser___ReduceAction636___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26812; + fra.me.meth = LOCATE_parser___ReduceAction636___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26820 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26820); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26822 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26822); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(50); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26828 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction636___init(val_t p0, int* init_table){ + int itpos640 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction636].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos640]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26830; + fra.me.meth = LOCATE_parser___ReduceAction636___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26830 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos640] = 1; + return; +} +void parser___ReduceAction637___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26834; + fra.me.meth = LOCATE_parser___ReduceAction637___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26842 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26842); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26844 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26844); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(50); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26850 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction637___init(val_t p0, int* init_table){ + int itpos641 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction637].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos641]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26852; + fra.me.meth = LOCATE_parser___ReduceAction637___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26852 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos641] = 1; + return; +} +void parser___ReduceAction638___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26856; + fra.me.meth = LOCATE_parser___ReduceAction638___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26864 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26864); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26866 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26866); + nit_exit(1); + } + fra.me.REG[2] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(50); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26872 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction638___init(val_t p0, int* init_table){ + int itpos642 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction638].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos642]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26874; + fra.me.meth = LOCATE_parser___ReduceAction638___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26874 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos642] = 1; + return; +} +void parser___ReduceAction639___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26878; + fra.me.meth = LOCATE_parser___ReduceAction639___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26886 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26886); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26888 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26888); + nit_exit(1); + } + fra.me.REG[2] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(50); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26894 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction639___init(val_t p0, int* init_table){ + int itpos643 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction639].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos643]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26896; + fra.me.meth = LOCATE_parser___ReduceAction639___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26896 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos643] = 1; + return; +} +void parser___ReduceAction640___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26900; + fra.me.meth = LOCATE_parser___ReduceAction640___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26908 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26908); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26910 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26910); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(50); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26916 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction640___init(val_t p0, int* init_table){ + int itpos644 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction640].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos644]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26918; + fra.me.meth = LOCATE_parser___ReduceAction640___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26918 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos644] = 1; + return; +} +void parser___ReduceAction641___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26922; + fra.me.meth = LOCATE_parser___ReduceAction641___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26930 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26930); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:26932 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26932); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(50); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26938 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction641___init(val_t p0, int* init_table){ + int itpos645 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction641].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos645]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26940; + fra.me.meth = LOCATE_parser___ReduceAction641___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26940 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos645] = 1; + return; +} +void parser___ReduceAction642___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26944; + fra.me.meth = LOCATE_parser___ReduceAction642___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26949 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26949); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(51); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26951 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction642___init(val_t p0, int* init_table){ + int itpos646 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction642].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos646]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26953; + fra.me.meth = LOCATE_parser___ReduceAction642___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26953 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos646] = 1; + return; +} +void parser___ReduceAction643___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26957; + fra.me.meth = LOCATE_parser___ReduceAction643___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26965 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26965); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26967 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26967); + nit_exit(1); + } + fra.me.REG[2] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(51); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26973 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction643___init(val_t p0, int* init_table){ + int itpos647 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction643].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos647]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26975; + fra.me.meth = LOCATE_parser___ReduceAction643___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26975 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos647] = 1; + return; +} +void parser___ReduceAction644___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26979; + fra.me.meth = LOCATE_parser___ReduceAction644___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26987 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26987); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:26989 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 26989); + nit_exit(1); + } + fra.me.REG[2] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(51); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:26995 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction644___init(val_t p0, int* init_table){ + int itpos648 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction644].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos648]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 26997; + fra.me.meth = LOCATE_parser___ReduceAction644___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:26997 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos648] = 1; + return; +} +void parser___ReduceAction645___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27001; + fra.me.meth = LOCATE_parser___ReduceAction645___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27006 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27006); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(52); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27008 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction645___init(val_t p0, int* init_table){ + int itpos649 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction645].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos649]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27010; + fra.me.meth = LOCATE_parser___ReduceAction645___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27010 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos649] = 1; + return; +} +void parser___ReduceAction646___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27014; + fra.me.meth = LOCATE_parser___ReduceAction646___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27022 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27022); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27024 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27024); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(52); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27030 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction646___init(val_t p0, int* init_table){ + int itpos650 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction646].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos650]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27032; + fra.me.meth = LOCATE_parser___ReduceAction646___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27032 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos650] = 1; + return; +} +void parser___ReduceAction647___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27036; + fra.me.meth = LOCATE_parser___ReduceAction647___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27044 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27044); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27046 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27046); + nit_exit(1); + } + fra.me.REG[2] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(52); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27052 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction647___init(val_t p0, int* init_table){ + int itpos651 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction647].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos651]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27054; + fra.me.meth = LOCATE_parser___ReduceAction647___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27054 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos651] = 1; + return; +} +void parser___ReduceAction648___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27058; + fra.me.meth = LOCATE_parser___ReduceAction648___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27066 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27066); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27068 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27068); + nit_exit(1); + } + fra.me.REG[2] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(52); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27074 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction648___init(val_t p0, int* init_table){ + int itpos652 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction648].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos652]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27076; + fra.me.meth = LOCATE_parser___ReduceAction648___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27076 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos652] = 1; + return; +} +void parser___ReduceAction649___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27080; + fra.me.meth = LOCATE_parser___ReduceAction649___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27085 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27085); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(53); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27087 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction649___init(val_t p0, int* init_table){ + int itpos653 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction649].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos653]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27089; + fra.me.meth = LOCATE_parser___ReduceAction649___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27089 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos653] = 1; + return; +} +void parser___ReduceAction650___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27093; + fra.me.meth = LOCATE_parser___ReduceAction650___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:27100 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27100); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27102 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27102); + nit_exit(1); + } + fra.me.REG[2] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(53); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27108 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction650___init(val_t p0, int* init_table){ + int itpos654 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction650].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos654]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27110; + fra.me.meth = LOCATE_parser___ReduceAction650___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27110 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos654] = 1; + return; +} +void parser___ReduceAction651___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27114; + fra.me.meth = LOCATE_parser___ReduceAction651___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwonce, ID_TKwonce)) /*cast nullable TKwonce*/; + /* ./parser//parser.nit:27121 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27121); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27123 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27123); + nit_exit(1); + } + fra.me.REG[2] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(53); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27129 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction651___init(val_t p0, int* init_table){ + int itpos655 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction651].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos655]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27131; + fra.me.meth = LOCATE_parser___ReduceAction651___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27131 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos655] = 1; + return; +} +void parser___ReduceAction652___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27135; + fra.me.meth = LOCATE_parser___ReduceAction652___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27140 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27140); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(54); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27142 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction652___init(val_t p0, int* init_table){ + int itpos656 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction652].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos656]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27144; + fra.me.meth = LOCATE_parser___ReduceAction652___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27144 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos656] = 1; + return; +} +void parser___ReduceAction653___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27148; + fra.me.meth = LOCATE_parser___ReduceAction653___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/; + /* ./parser//parser.nit:27157 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27157); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:27159 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27159); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27161 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27161); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:27163 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:27164 */ + } else { + /* ./parser//parser.nit:27166 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(54); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27176 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction653___init(val_t p0, int* init_table){ + int itpos657 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction653].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos657]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27178; + fra.me.meth = LOCATE_parser___ReduceAction653___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27178 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos657] = 1; + return; +} +void parser___ReduceAction654___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27182; + fra.me.meth = LOCATE_parser___ReduceAction654___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/; + /* ./parser//parser.nit:27191 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27191); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27193 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27193); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:27195 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27195); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(54); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27202 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction654___init(val_t p0, int* init_table){ + int itpos658 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction654].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos658]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27204; + fra.me.meth = LOCATE_parser___ReduceAction654___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27204 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos658] = 1; + return; +} +void parser___ReduceAction655___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27208; + fra.me.meth = LOCATE_parser___ReduceAction655___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/; + /* ./parser//parser.nit:27214 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27214); + nit_exit(1); + } + fra.me.REG[4] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:27218 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27218); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(54); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27225 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction655___init(val_t p0, int* init_table){ + int itpos659 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction655].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos659]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27227; + fra.me.meth = LOCATE_parser___ReduceAction655___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27227 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos659] = 1; + return; +} +void parser___ReduceAction656___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27231; + fra.me.meth = LOCATE_parser___ReduceAction656___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27239 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27239); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:27241 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27241); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27247 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction656___init(val_t p0, int* init_table){ + int itpos660 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction656].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos660]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27249; + fra.me.meth = LOCATE_parser___ReduceAction656___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27249 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos660] = 1; + return; +} +void parser___ReduceAction657___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27253; + fra.me.meth = LOCATE_parser___ReduceAction657___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:27260 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27260); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27266 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction657___init(val_t p0, int* init_table){ + int itpos661 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction657].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos661]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27268; + fra.me.meth = LOCATE_parser___ReduceAction657___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27268 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos661] = 1; + return; +} +void parser___ReduceAction658___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27272; + fra.me.meth = LOCATE_parser___ReduceAction658___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27283 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27283); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:27285 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27285); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27287 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27287); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:27289 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:27290 */ + } else { + /* ./parser//parser.nit:27292 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27302 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction658___init(val_t p0, int* init_table){ + int itpos662 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction658].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos662]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27304; + fra.me.meth = LOCATE_parser___ReduceAction658___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27304 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos662] = 1; + return; +} +void parser___ReduceAction659___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27308; + fra.me.meth = LOCATE_parser___ReduceAction659___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:27318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27318); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27320); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:27322 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:27323 */ + } else { + /* ./parser//parser.nit:27325 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27335 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction659___init(val_t p0, int* init_table){ + int itpos663 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction659].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos663]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27337; + fra.me.meth = LOCATE_parser___ReduceAction659___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27337 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos663] = 1; + return; +} +void parser___ReduceAction660___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27341; + fra.me.meth = LOCATE_parser___ReduceAction660___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:27348 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27348); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27350 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27350); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:27352 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:27353 */ + } else { + /* ./parser//parser.nit:27355 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27364 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction660___init(val_t p0, int* init_table){ + int itpos664 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction660].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos664]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27366; + fra.me.meth = LOCATE_parser___ReduceAction660___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27366 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos664] = 1; + return; +} +void parser___ReduceAction661___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27370; + fra.me.meth = LOCATE_parser___ReduceAction661___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/; + /* ./parser//parser.nit:27378 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27378); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:27380 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27380); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27382 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27382); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:27384 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:27385 */ + } else { + /* ./parser//parser.nit:27387 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27396 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction661___init(val_t p0, int* init_table){ + int itpos665 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction661].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos665]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27398; + fra.me.meth = LOCATE_parser___ReduceAction661___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27398 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos665] = 1; + return; +} +void parser___ReduceAction662___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27402; + fra.me.meth = LOCATE_parser___ReduceAction662___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27412 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27412); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:27414 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27414); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27416 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27416); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:27418 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:27419 */ + } else { + /* ./parser//parser.nit:27421 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27430 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction662___init(val_t p0, int* init_table){ + int itpos666 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction662].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos666]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27432; + fra.me.meth = LOCATE_parser___ReduceAction662___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27432 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos666] = 1; + return; +} +void parser___ReduceAction663___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27436; + fra.me.meth = LOCATE_parser___ReduceAction663___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:27445 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27445); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27447 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27447); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:27449 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:27450 */ + } else { + /* ./parser//parser.nit:27452 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27461 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction663___init(val_t p0, int* init_table){ + int itpos667 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction663].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos667]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27463; + fra.me.meth = LOCATE_parser___ReduceAction663___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27463 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos667] = 1; + return; +} +void parser___ReduceAction664___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27467; + fra.me.meth = LOCATE_parser___ReduceAction664___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27475); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27477 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27477); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:27479 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:27480 */ + } else { + /* ./parser//parser.nit:27482 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27491 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction664___init(val_t p0, int* init_table){ + int itpos668 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction664].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos668]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27493; + fra.me.meth = LOCATE_parser___ReduceAction664___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27493 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos668] = 1; + return; +} +void parser___ReduceAction665___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27497; + fra.me.meth = LOCATE_parser___ReduceAction665___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/; + /* ./parser//parser.nit:27509 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27509); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:27511 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27511); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:27513 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27513); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27515 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27515); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:27517 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:27518 */ + } else { + /* ./parser//parser.nit:27520 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27530 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction665___init(val_t p0, int* init_table){ + int itpos669 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction665].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos669]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27532; + fra.me.meth = LOCATE_parser___ReduceAction665___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27532 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos669] = 1; + return; +} +void parser___ReduceAction666___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27536; + fra.me.meth = LOCATE_parser___ReduceAction666___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27549 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27549); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27551 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27551); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACrangeExpr_parser_prod___ACrangeExpr___init_acrangeexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27557 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction666___init(val_t p0, int* init_table){ + int itpos670 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction666].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos670]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27559; + fra.me.meth = LOCATE_parser___ReduceAction666___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27559 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos670] = 1; + return; +} +void parser___ReduceAction667___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27563; + fra.me.meth = LOCATE_parser___ReduceAction667___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27576 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27576); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27578 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27578); + nit_exit(1); + } + fra.me.REG[2] = NEW_AOrangeExpr_parser_prod___AOrangeExpr___init_aorangeexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27584 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction667___init(val_t p0, int* init_table){ + int itpos671 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction667].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos671]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27586; + fra.me.meth = LOCATE_parser___ReduceAction667___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27586 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos671] = 1; + return; +} +void parser___ReduceAction668___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27590; + fra.me.meth = LOCATE_parser___ReduceAction668___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27596 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27596); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:27598 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:27599 */ + } else { + /* ./parser//parser.nit:27601 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[3] = NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr(fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27608 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction668___init(val_t p0, int* init_table){ + int itpos672 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction668].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos672]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27610; + fra.me.meth = LOCATE_parser___ReduceAction668___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27610 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos672] = 1; + return; +} +void parser___ReduceAction669___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27614; + fra.me.meth = LOCATE_parser___ReduceAction669___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwself, ID_TKwself)) /*cast nullable TKwself*/; + /* ./parser//parser.nit:27619 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27619); + nit_exit(1); + } + fra.me.REG[2] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27624 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction669___init(val_t p0, int* init_table){ + int itpos673 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction669].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos673]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27626; + fra.me.meth = LOCATE_parser___ReduceAction669___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27626 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos673] = 1; + return; +} +void parser___ReduceAction670___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27630; + fra.me.meth = LOCATE_parser___ReduceAction670___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwtrue, ID_TKwtrue)) /*cast nullable TKwtrue*/; + /* ./parser//parser.nit:27635 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27635); + nit_exit(1); + } + fra.me.REG[2] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27640 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction670___init(val_t p0, int* init_table){ + int itpos674 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction670].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos674]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27642; + fra.me.meth = LOCATE_parser___ReduceAction670___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27642 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos674] = 1; + return; +} +void parser___ReduceAction671___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27646; + fra.me.meth = LOCATE_parser___ReduceAction671___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwfalse, ID_TKwfalse)) /*cast nullable TKwfalse*/; + /* ./parser//parser.nit:27651 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27651); + nit_exit(1); + } + fra.me.REG[2] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27656 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction671___init(val_t p0, int* init_table){ + int itpos675 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction671].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos675]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27658; + fra.me.meth = LOCATE_parser___ReduceAction671___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27658 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos675] = 1; + return; +} +void parser___ReduceAction672___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27662; + fra.me.meth = LOCATE_parser___ReduceAction672___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/; + /* ./parser//parser.nit:27667 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27667); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27672 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction672___init(val_t p0, int* init_table){ + int itpos676 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction672].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos676]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27674; + fra.me.meth = LOCATE_parser___ReduceAction672___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27674 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos676] = 1; + return; +} +void parser___ReduceAction673___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27678; + fra.me.meth = LOCATE_parser___ReduceAction673___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TNumber, ID_TNumber)) /*cast nullable TNumber*/; + /* ./parser//parser.nit:27683 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27683); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27688 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction673___init(val_t p0, int* init_table){ + int itpos677 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction673].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos677]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27690; + fra.me.meth = LOCATE_parser___ReduceAction673___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27690 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos677] = 1; + return; +} +void parser___ReduceAction674___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27694; + fra.me.meth = LOCATE_parser___ReduceAction674___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TFloat, ID_TFloat)) /*cast nullable TFloat*/; + /* ./parser//parser.nit:27699 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27699); + nit_exit(1); + } + fra.me.REG[2] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27704 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction674___init(val_t p0, int* init_table){ + int itpos678 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction674].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos678]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27706; + fra.me.meth = LOCATE_parser___ReduceAction674___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27706 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos678] = 1; + return; +} +void parser___ReduceAction675___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27710; + fra.me.meth = LOCATE_parser___ReduceAction675___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TChar, ID_TChar)) /*cast nullable TChar*/; + /* ./parser//parser.nit:27715 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27715); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27720 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction675___init(val_t p0, int* init_table){ + int itpos679 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction675].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos679]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27722; + fra.me.meth = LOCATE_parser___ReduceAction675___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27722 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos679] = 1; + return; +} +void parser___ReduceAction676___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27726; + fra.me.meth = LOCATE_parser___ReduceAction676___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:27731 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27731); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27736 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction676___init(val_t p0, int* init_table){ + int itpos680 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction676].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos680]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27738; + fra.me.meth = LOCATE_parser___ReduceAction676___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27738 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos680] = 1; + return; +} +void parser___ReduceAction677___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27742; + fra.me.meth = LOCATE_parser___ReduceAction677___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27747 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27747); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27749 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction677___init(val_t p0, int* init_table){ + int itpos681 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction677].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos681]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27751; + fra.me.meth = LOCATE_parser___ReduceAction677___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27751 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos681] = 1; + return; +} +void parser___ReduceAction678___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27755; + fra.me.meth = LOCATE_parser___ReduceAction678___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27762 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27762); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27764 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction678___init(val_t p0, int* init_table){ + int itpos682 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction678].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos682]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27766; + fra.me.meth = LOCATE_parser___ReduceAction678___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27766 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos682] = 1; + return; +} +void parser___ReduceAction679___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27770; + fra.me.meth = LOCATE_parser___ReduceAction679___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27784 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27784); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/; + /* ./parser//parser.nit:27786 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27786); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:27788 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27788); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27795 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction679___init(val_t p0, int* init_table){ + int itpos683 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction679].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos683]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27797; + fra.me.meth = LOCATE_parser___ReduceAction679___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27797 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos683] = 1; + return; +} +void parser___ReduceAction680___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27801; + fra.me.meth = LOCATE_parser___ReduceAction680___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27817 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27817); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/; + /* ./parser//parser.nit:27819 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27819); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/; + /* ./parser//parser.nit:27821 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27821); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/; + /* ./parser//parser.nit:27823 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27823); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(55); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27831 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction680___init(val_t p0, int* init_table){ + int itpos684 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction680].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos684]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27833; + fra.me.meth = LOCATE_parser___ReduceAction680___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27833 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos684] = 1; + return; +} +void parser___ReduceAction681___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27837; + fra.me.meth = LOCATE_parser___ReduceAction681___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27844 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27844); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27846 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27846); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:27848 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:27849 */ + } else { + /* ./parser//parser.nit:27851 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:27854 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:27855 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(56); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27861 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction681___init(val_t p0, int* init_table){ + int itpos685 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction681].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos685]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27863; + fra.me.meth = LOCATE_parser___ReduceAction681___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27863 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos685] = 1; + return; +} +void parser___ReduceAction682___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27867; + fra.me.meth = LOCATE_parser___ReduceAction682___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27875 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27875); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:27877 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27877); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27879 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27879); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:27881 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[4]; + /* ./parser//parser.nit:27882 */ + } else { + /* ./parser//parser.nit:27884 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:27888 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:27889 */ + } else { + /* ./parser//parser.nit:27891 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:27894 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:27895 */ + array___Array___add(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(56); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27901 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction682___init(val_t p0, int* init_table){ + int itpos686 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction682].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos686]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27903; + fra.me.meth = LOCATE_parser___ReduceAction682___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27903 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos686] = 1; + return; +} +void parser___ReduceAction683___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27907; + fra.me.meth = LOCATE_parser___ReduceAction683___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27916 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27916); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27918 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27918); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:27919 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:27920 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:27922 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:27923 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(57); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27926 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction683___init(val_t p0, int* init_table){ + int itpos687 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction683].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos687]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27928; + fra.me.meth = LOCATE_parser___ReduceAction683___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27928 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos687] = 1; + return; +} +void parser___ReduceAction684___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27932; + fra.me.meth = LOCATE_parser___ReduceAction684___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TStartString, ID_TStartString)) /*cast nullable TStartString*/; + /* ./parser//parser.nit:27937 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27937); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStartStringExpr_parser_prod___AStartStringExpr___init_astartstringexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(58); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27942 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction684___init(val_t p0, int* init_table){ + int itpos688 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction684].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos688]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27944; + fra.me.meth = LOCATE_parser___ReduceAction684___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27944 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos688] = 1; + return; +} +void parser___ReduceAction685___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27948; + fra.me.meth = LOCATE_parser___ReduceAction685___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27957 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27957); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:27959 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27959); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:27960 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:27961 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:27963 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:27964 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(59); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27967 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction685___init(val_t p0, int* init_table){ + int itpos689 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction685].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos689]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27969; + fra.me.meth = LOCATE_parser___ReduceAction685___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27969 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos689] = 1; + return; +} +void parser___ReduceAction686___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27973; + fra.me.meth = LOCATE_parser___ReduceAction686___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TMidString, ID_TMidString)) /*cast nullable TMidString*/; + /* ./parser//parser.nit:27978 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27978); + nit_exit(1); + } + fra.me.REG[2] = NEW_AMidStringExpr_parser_prod___AMidStringExpr___init_amidstringexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(60); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27983 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction686___init(val_t p0, int* init_table){ + int itpos690 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction686].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos690]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27985; + fra.me.meth = LOCATE_parser___ReduceAction686___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:27985 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos690] = 1; + return; +} +void parser___ReduceAction687___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 27989; + fra.me.meth = LOCATE_parser___ReduceAction687___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TEndString, ID_TEndString)) /*cast nullable TEndString*/; + /* ./parser//parser.nit:27994 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 27994); + nit_exit(1); + } + fra.me.REG[2] = NEW_AEndStringExpr_parser_prod___AEndStringExpr___init_aendstringexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(61); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:27999 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction687___init(val_t p0, int* init_table){ + int itpos691 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction687].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos691]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28001; + fra.me.meth = LOCATE_parser___ReduceAction687___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28001 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos691] = 1; + return; +} +void parser___ReduceAction688___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28005; + fra.me.meth = LOCATE_parser___ReduceAction688___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28015 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28015); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:28016 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:28017 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(62); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28020 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction688___init(val_t p0, int* init_table){ + int itpos692 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction688].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos692]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28022; + fra.me.meth = LOCATE_parser___ReduceAction688___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28022 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos692] = 1; + return; +} +void parser___ReduceAction689___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28026; + fra.me.meth = LOCATE_parser___ReduceAction689___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28037 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28037); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:28039 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28039); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:28040 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:28041 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:28044 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:28045 */ + } else { + /* ./parser//parser.nit:28047 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(62); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28051 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction689___init(val_t p0, int* init_table){ + int itpos693 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction689].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos693]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28053; + fra.me.meth = LOCATE_parser___ReduceAction689___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28053 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos693] = 1; + return; +} +void parser___ReduceAction690___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28057; + fra.me.meth = LOCATE_parser___ReduceAction690___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(62); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28065 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction690___init(val_t p0, int* init_table){ + int itpos694 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction690].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos694]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28067; + fra.me.meth = LOCATE_parser___ReduceAction690___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28067 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos694] = 1; + return; +} +void parser___ReduceAction691___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28071; + fra.me.meth = LOCATE_parser___ReduceAction691___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(62); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28076 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction691___init(val_t p0, int* init_table){ + int itpos695 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction691].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos695]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28078; + fra.me.meth = LOCATE_parser___ReduceAction691___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28078 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos695] = 1; + return; +} +void parser___ReduceAction692___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28082; + fra.me.meth = LOCATE_parser___ReduceAction692___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28092 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28092); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:28093 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:28094 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(63); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28097 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction692___init(val_t p0, int* init_table){ + int itpos696 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction692].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos696]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28099; + fra.me.meth = LOCATE_parser___ReduceAction692___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28099 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos696] = 1; + return; +} +void parser___ReduceAction693___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28103; + fra.me.meth = LOCATE_parser___ReduceAction693___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28114 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28114); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:28116 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28116); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:28117 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:28118 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:28121 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:28122 */ + } else { + /* ./parser//parser.nit:28124 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(63); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28128 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction693___init(val_t p0, int* init_table){ + int itpos697 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction693].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos697]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28130; + fra.me.meth = LOCATE_parser___ReduceAction693___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28130 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos697] = 1; + return; +} +void parser___ReduceAction694___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28134; + fra.me.meth = LOCATE_parser___ReduceAction694___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28140 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28140); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:28141 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:28142 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(63); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28145 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction694___init(val_t p0, int* init_table){ + int itpos698 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction694].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos698]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28147; + fra.me.meth = LOCATE_parser___ReduceAction694___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28147 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos698] = 1; + return; +} +void parser___ReduceAction695___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28151; + fra.me.meth = LOCATE_parser___ReduceAction695___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(63); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28159 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction695___init(val_t p0, int* init_table){ + int itpos699 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction695].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos699]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28161; + fra.me.meth = LOCATE_parser___ReduceAction695___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28161 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos699] = 1; + return; +} +void parser___ReduceAction696___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28165; + fra.me.meth = LOCATE_parser___ReduceAction696___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(63); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28170 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction696___init(val_t p0, int* init_table){ + int itpos700 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction696].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos700]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28172; + fra.me.meth = LOCATE_parser___ReduceAction696___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28172 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos700] = 1; + return; +} +void parser___ReduceAction697___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28176; + fra.me.meth = LOCATE_parser___ReduceAction697___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28186 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28186); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:28187 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:28188 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(64); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28191 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction697___init(val_t p0, int* init_table){ + int itpos701 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction697].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos701]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28193; + fra.me.meth = LOCATE_parser___ReduceAction697___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28193 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos701] = 1; + return; +} +void parser___ReduceAction698___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28197; + fra.me.meth = LOCATE_parser___ReduceAction698___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28208 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28208); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:28210 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28210); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:28211 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:28212 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:28215 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:28216 */ + } else { + /* ./parser//parser.nit:28218 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(64); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28222 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction698___init(val_t p0, int* init_table){ + int itpos702 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction698].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos702]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28224; + fra.me.meth = LOCATE_parser___ReduceAction698___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28224 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos702] = 1; + return; +} +void parser___ReduceAction699___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28228; + fra.me.meth = LOCATE_parser___ReduceAction699___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28236 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28236); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(65); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28238 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction699___init(val_t p0, int* init_table){ + int itpos703 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction699].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos703]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28240; + fra.me.meth = LOCATE_parser___ReduceAction699___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28240 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos703] = 1; + return; +} +void parser___ReduceAction700___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28244; + fra.me.meth = LOCATE_parser___ReduceAction700___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:28252 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28252); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:28254 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:28255 */ + } else { + /* ./parser//parser.nit:28257 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(66); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28261 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction700___init(val_t p0, int* init_table){ + int itpos704 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction700].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos704]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28263; + fra.me.meth = LOCATE_parser___ReduceAction700___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28263 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos704] = 1; + return; +} +void parser___ReduceAction701___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28267; + fra.me.meth = LOCATE_parser___ReduceAction701___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:28273 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28273); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:28275 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:28276 */ + } else { + /* ./parser//parser.nit:28278 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(66); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28282 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction701___init(val_t p0, int* init_table){ + int itpos705 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction701].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos705]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28284; + fra.me.meth = LOCATE_parser___ReduceAction701___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28284 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos705] = 1; + return; +} +void parser___ReduceAction702___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28288; + fra.me.meth = LOCATE_parser___ReduceAction702___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:28294 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28294); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:28295 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:28296 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(67); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28299 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction702___init(val_t p0, int* init_table){ + int itpos706 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction702].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos706]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28301; + fra.me.meth = LOCATE_parser___ReduceAction702___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28301 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos706] = 1; + return; +} +void parser___ReduceAction703___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28305; + fra.me.meth = LOCATE_parser___ReduceAction703___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:28315 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28315); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:28317 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28317); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:28319 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:28320 */ + } else { + /* ./parser//parser.nit:28322 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:28325 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:28326 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(67); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28329 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction703___init(val_t p0, int* init_table){ + int itpos707 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction703].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos707]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28331; + fra.me.meth = LOCATE_parser___ReduceAction703___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28331 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos707] = 1; + return; +} +void parser___ReduceAction704___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28335; + fra.me.meth = LOCATE_parser___ReduceAction704___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:28341 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28341); + nit_exit(1); + } + fra.me.REG[2] = NEW_AQualified_parser_prod___AQualified___init_aqualified(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(68); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28347 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction704___init(val_t p0, int* init_table){ + int itpos708 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction704].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos708]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28349; + fra.me.meth = LOCATE_parser___ReduceAction704___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28349 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos708] = 1; + return; +} +void parser___ReduceAction705___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28353; + fra.me.meth = LOCATE_parser___ReduceAction705___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:28360 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28360); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:28362 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:28363 */ + } else { + /* ./parser//parser.nit:28365 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:28369 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28369); + nit_exit(1); + } + fra.me.REG[2] = NEW_AQualified_parser_prod___AQualified___init_aqualified(fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(68); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28375 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction705___init(val_t p0, int* init_table){ + int itpos709 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction705].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos709]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28377; + fra.me.meth = LOCATE_parser___ReduceAction705___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28377 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos709] = 1; + return; +} +void parser___ReduceAction706___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28381; + fra.me.meth = LOCATE_parser___ReduceAction706___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:28387 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28387); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:28389 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:28390 */ + } else { + /* ./parser//parser.nit:28392 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[3] = NEW_AQualified_parser_prod___AQualified___init_aqualified(fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(68); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28400 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction706___init(val_t p0, int* init_table){ + int itpos710 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction706].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos710]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28402; + fra.me.meth = LOCATE_parser___ReduceAction706___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28402 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos710] = 1; + return; +} +void parser___ReduceAction707___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28406; + fra.me.meth = LOCATE_parser___ReduceAction707___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:28413 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28413); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(69); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28415 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction707___init(val_t p0, int* init_table){ + int itpos711 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction707].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos711]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28417; + fra.me.meth = LOCATE_parser___ReduceAction707___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28417 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos711] = 1; + return; +} +void parser___ReduceAction708___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28421; + fra.me.meth = LOCATE_parser___ReduceAction708___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:28428 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28428); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(70); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28430 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction708___init(val_t p0, int* init_table){ + int itpos712 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction708].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos712]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28432; + fra.me.meth = LOCATE_parser___ReduceAction708___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28432 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos712] = 1; + return; +} +void parser___ReduceAction709___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28436; + fra.me.meth = LOCATE_parser___ReduceAction709___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Int(71); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28440 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction709___init(val_t p0, int* init_table){ + int itpos713 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction709].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos713]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28442; + fra.me.meth = LOCATE_parser___ReduceAction709___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28442 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos713] = 1; + return; +} +void parser___ReduceAction710___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28446; + fra.me.meth = LOCATE_parser___ReduceAction710___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Int(71); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28450 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction710___init(val_t p0, int* init_table){ + int itpos714 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction710].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos714]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28452; + fra.me.meth = LOCATE_parser___ReduceAction710___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28452 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos714] = 1; + return; +} +void parser___ReduceAction711___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28456; + fra.me.meth = LOCATE_parser___ReduceAction711___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:28462 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28462); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:28464 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:28465 */ + } else { + /* ./parser//parser.nit:28467 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[3] = NEW_ADoc_parser_prod___ADoc___init_adoc(fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(72); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28474 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction711___init(val_t p0, int* init_table){ + int itpos715 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction711].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos715]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28476; + fra.me.meth = LOCATE_parser___ReduceAction711___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28476 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos715] = 1; + return; +} +void parser___ReduceAction712___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28480; + fra.me.meth = LOCATE_parser___ReduceAction712___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:28487 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28487); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:28489 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:28490 */ + } else { + /* ./parser//parser.nit:28492 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[3] = NEW_ADoc_parser_prod___ADoc___init_adoc(fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(72); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28499 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction712___init(val_t p0, int* init_table){ + int itpos716 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction712].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos716]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28501; + fra.me.meth = LOCATE_parser___ReduceAction712___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28501 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos716] = 1; + return; +} +void parser___ReduceAction713___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28505; + fra.me.meth = LOCATE_parser___ReduceAction713___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[0] = NIT_NULL; + REGB0 = TAG_Int(72); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28510 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction713___init(val_t p0, int* init_table){ + int itpos717 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction713].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos717]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28512; + fra.me.meth = LOCATE_parser___ReduceAction713___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28512 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos717] = 1; + return; +} +void parser___ReduceAction714___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28516; + fra.me.meth = LOCATE_parser___ReduceAction714___action; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = NIT_NULL; + REGB0 = TAG_Int(73); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28520 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction714___init(val_t p0, int* init_table){ + int itpos718 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction714].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos718]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28522; + fra.me.meth = LOCATE_parser___ReduceAction714___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28522 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos718] = 1; + return; +} +void parser___ReduceAction715___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28526; + fra.me.meth = LOCATE_parser___ReduceAction715___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28531 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28531); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(73); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28533 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction715___init(val_t p0, int* init_table){ + int itpos719 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction715].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos719]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28535; + fra.me.meth = LOCATE_parser___ReduceAction715___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28535 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos719] = 1; + return; +} +void parser___ReduceAction716___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28539; + fra.me.meth = LOCATE_parser___ReduceAction716___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Int(74); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28544 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction716___init(val_t p0, int* init_table){ + int itpos720 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction716].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos720]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28546; + fra.me.meth = LOCATE_parser___ReduceAction716___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28546 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos720] = 1; + return; +} +void parser___ReduceAction717___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28550; + fra.me.meth = LOCATE_parser___ReduceAction717___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Int(74); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28556 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction717___init(val_t p0, int* init_table){ + int itpos721 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction717].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos721]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28558; + fra.me.meth = LOCATE_parser___ReduceAction717___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28558 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos721] = 1; + return; +} +void parser___ReduceAction718___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28562; + fra.me.meth = LOCATE_parser___ReduceAction718___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Int(74); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28566 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction718___init(val_t p0, int* init_table){ + int itpos722 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction718].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos722]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28568; + fra.me.meth = LOCATE_parser___ReduceAction718___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28568 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos722] = 1; + return; +} +void parser___ReduceAction719___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28572; + fra.me.meth = LOCATE_parser___ReduceAction719___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:28578 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28578); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(75); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28580 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction719___init(val_t p0, int* init_table){ + int itpos723 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction719].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos723]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28582; + fra.me.meth = LOCATE_parser___ReduceAction719___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28582 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos723] = 1; + return; +} +void parser___ReduceAction720___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28586; + fra.me.meth = LOCATE_parser___ReduceAction720___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28597 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28597); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:28599 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28599); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:28601 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28601); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:28603 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28603); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:28608 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28608); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28610 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28610); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28621 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction720___init(val_t p0, int* init_table){ + int itpos724 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction720].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos724]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28623; + fra.me.meth = LOCATE_parser___ReduceAction720___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28623 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos724] = 1; + return; +} +void parser___ReduceAction721___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28627; + fra.me.meth = LOCATE_parser___ReduceAction721___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28638 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28638); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:28640 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28640); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:28642 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28642); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:28644 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28644); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:28649 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28649); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28651 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28651); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28662 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction721___init(val_t p0, int* init_table){ + int itpos725 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction721].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos725]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28664; + fra.me.meth = LOCATE_parser___ReduceAction721___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28664 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos725] = 1; + return; +} +void parser___ReduceAction722___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28668; + fra.me.meth = LOCATE_parser___ReduceAction722___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28679 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28679); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:28681 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28681); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:28683 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28683); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:28685 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28685); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:28690 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28690); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28692 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28692); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28703 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction722___init(val_t p0, int* init_table){ + int itpos726 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction722].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos726]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28705; + fra.me.meth = LOCATE_parser___ReduceAction722___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28705 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos726] = 1; + return; +} +void parser___ReduceAction723___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28709; + fra.me.meth = LOCATE_parser___ReduceAction723___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28720 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28720); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:28722 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28722); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:28724 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28724); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:28726 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28726); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:28731 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28731); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28733 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28733); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28744 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction723___init(val_t p0, int* init_table){ + int itpos727 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction723].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos727]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28746; + fra.me.meth = LOCATE_parser___ReduceAction723___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28746 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos727] = 1; + return; +} +void parser___ReduceAction724___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28750; + fra.me.meth = LOCATE_parser___ReduceAction724___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28761 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28761); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:28763 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28763); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:28765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28765); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:28767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28767); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:28772 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28772); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28774 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28774); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28785 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction724___init(val_t p0, int* init_table){ + int itpos728 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction724].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos728]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28787; + fra.me.meth = LOCATE_parser___ReduceAction724___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28787 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos728] = 1; + return; +} +void parser___ReduceAction725___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28791; + fra.me.meth = LOCATE_parser___ReduceAction725___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28802 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28802); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:28804 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28804); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:28806 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28806); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:28808 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28808); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:28813 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28813); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28815 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28815); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28826 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction725___init(val_t p0, int* init_table){ + int itpos729 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction725].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos729]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28828; + fra.me.meth = LOCATE_parser___ReduceAction725___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28828 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos729] = 1; + return; +} +void parser___ReduceAction726___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28832; + fra.me.meth = LOCATE_parser___ReduceAction726___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28843 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28843); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:28845 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28845); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:28847 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28847); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:28849 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28849); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:28854 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28854); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28856 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28856); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28867 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction726___init(val_t p0, int* init_table){ + int itpos730 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction726].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos730]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28869; + fra.me.meth = LOCATE_parser___ReduceAction726___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28869 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos730] = 1; + return; +} +void parser___ReduceAction727___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28873; + fra.me.meth = LOCATE_parser___ReduceAction727___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28884 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28884); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:28886 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28886); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:28888 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28888); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:28890 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28890); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:28895 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28895); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28897 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28897); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28908 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction727___init(val_t p0, int* init_table){ + int itpos731 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction727].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos731]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28910; + fra.me.meth = LOCATE_parser___ReduceAction727___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28910 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos731] = 1; + return; +} +void parser___ReduceAction728___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28914; + fra.me.meth = LOCATE_parser___ReduceAction728___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28925 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28925); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:28927 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28927); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:28929 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28929); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:28931 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28931); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:28936 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28936); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28938 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28938); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28949 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction728___init(val_t p0, int* init_table){ + int itpos732 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction728].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos732]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28951; + fra.me.meth = LOCATE_parser___ReduceAction728___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28951 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos732] = 1; + return; +} +void parser___ReduceAction729___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28955; + fra.me.meth = LOCATE_parser___ReduceAction729___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:28966 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28966); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:28968 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28968); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:28970 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28970); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:28972 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28972); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:28977 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28977); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:28979 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 28979); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:28990 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction729___init(val_t p0, int* init_table){ + int itpos733 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction729].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos733]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28992; + fra.me.meth = LOCATE_parser___ReduceAction729___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:28992 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos733] = 1; + return; +} +void parser___ReduceAction730___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 28996; + fra.me.meth = LOCATE_parser___ReduceAction730___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29007 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29007); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29009 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29009); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29011 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29011); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:29013 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29013); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29018 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29018); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29020 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29020); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29031 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction730___init(val_t p0, int* init_table){ + int itpos734 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction730].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos734]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29033; + fra.me.meth = LOCATE_parser___ReduceAction730___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29033 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos734] = 1; + return; +} +void parser___ReduceAction731___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29037; + fra.me.meth = LOCATE_parser___ReduceAction731___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29048 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29048); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29050 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29050); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29052 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29052); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:29054 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29054); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29059 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29059); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29061 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29061); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29072 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction731___init(val_t p0, int* init_table){ + int itpos735 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction731].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos735]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29074; + fra.me.meth = LOCATE_parser___ReduceAction731___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29074 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos735] = 1; + return; +} +void parser___ReduceAction732___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29078; + fra.me.meth = LOCATE_parser___ReduceAction732___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29090 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29090); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29092 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29092); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29094 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29094); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:29096 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29096); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:29098 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29098); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29104 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29104); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29106 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29106); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29117 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction732___init(val_t p0, int* init_table){ + int itpos736 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction732].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos736]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29119; + fra.me.meth = LOCATE_parser___ReduceAction732___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29119 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos736] = 1; + return; +} +void parser___ReduceAction733___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29123; + fra.me.meth = LOCATE_parser___ReduceAction733___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29134 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29134); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29136 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29136); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29138 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29138); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:29140 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29140); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29145 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29145); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29147 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29147); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29158 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction733___init(val_t p0, int* init_table){ + int itpos737 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction733].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos737]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29160; + fra.me.meth = LOCATE_parser___ReduceAction733___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29160 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos737] = 1; + return; +} +void parser___ReduceAction734___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29164; + fra.me.meth = LOCATE_parser___ReduceAction734___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29176 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29176); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29178 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29178); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29180 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29180); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:29182 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29182); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:29184 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29184); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29190 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29190); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29192 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29192); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29203 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction734___init(val_t p0, int* init_table){ + int itpos738 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction734].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos738]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29205; + fra.me.meth = LOCATE_parser___ReduceAction734___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29205 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos738] = 1; + return; +} +void parser___ReduceAction735___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29209; + fra.me.meth = LOCATE_parser___ReduceAction735___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29222 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29222); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29224 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29224); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29226 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29226); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:29228 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29228); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:29230 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29230); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:29232 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29232); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29239 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29239); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29241 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29241); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29252 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction735___init(val_t p0, int* init_table){ + int itpos739 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction735].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos739]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29254; + fra.me.meth = LOCATE_parser___ReduceAction735___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29254 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos739] = 1; + return; +} +void parser___ReduceAction736___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29258; + fra.me.meth = LOCATE_parser___ReduceAction736___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29270 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29270); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29272 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29272); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29274 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29274); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29276 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29276); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:29278 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29278); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29283 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29283); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29285 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29285); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29296 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction736___init(val_t p0, int* init_table){ + int itpos740 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction736].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos740]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29298; + fra.me.meth = LOCATE_parser___ReduceAction736___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29298 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos740] = 1; + return; +} +void parser___ReduceAction737___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29302; + fra.me.meth = LOCATE_parser___ReduceAction737___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29314 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29314); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29316 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29316); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29318); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29320); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:29322 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29322); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29327 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29327); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29329 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29329); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29340 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction737___init(val_t p0, int* init_table){ + int itpos741 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction737].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos741]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29342; + fra.me.meth = LOCATE_parser___ReduceAction737___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29342 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos741] = 1; + return; +} +void parser___ReduceAction738___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29346; + fra.me.meth = LOCATE_parser___ReduceAction738___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29358 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29358); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29360 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29360); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29362 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29362); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29364 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29364); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:29366 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29366); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29371 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29371); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29373 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29373); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29384 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction738___init(val_t p0, int* init_table){ + int itpos742 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction738].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos742]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29386; + fra.me.meth = LOCATE_parser___ReduceAction738___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29386 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos742] = 1; + return; +} +void parser___ReduceAction739___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29390; + fra.me.meth = LOCATE_parser___ReduceAction739___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29402 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29402); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29404 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29404); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29406 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29406); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29408 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29408); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:29410 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29410); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29415 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29415); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29417 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29417); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29428 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction739___init(val_t p0, int* init_table){ + int itpos743 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction739].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos743]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29430; + fra.me.meth = LOCATE_parser___ReduceAction739___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29430 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos743] = 1; + return; +} +void parser___ReduceAction740___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29434; + fra.me.meth = LOCATE_parser___ReduceAction740___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29446 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29446); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29448 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29448); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29450 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29450); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29452 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29452); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:29454 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29454); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29459 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29459); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29461 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29461); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29472 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction740___init(val_t p0, int* init_table){ + int itpos744 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction740].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos744]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29474; + fra.me.meth = LOCATE_parser___ReduceAction740___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29474 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos744] = 1; + return; +} +void parser___ReduceAction741___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29478; + fra.me.meth = LOCATE_parser___ReduceAction741___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29490 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29490); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29492 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29492); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29494 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29494); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29496 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29496); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:29498 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29498); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29503 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29503); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29505 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29505); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29516 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction741___init(val_t p0, int* init_table){ + int itpos745 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction741].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos745]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29518; + fra.me.meth = LOCATE_parser___ReduceAction741___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29518 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos745] = 1; + return; +} +void parser___ReduceAction742___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29522; + fra.me.meth = LOCATE_parser___ReduceAction742___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29534 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29534); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29536 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29536); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29538 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29538); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29540 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29540); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:29542 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29542); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29547 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29547); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29549 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29549); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29560 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction742___init(val_t p0, int* init_table){ + int itpos746 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction742].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos746]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29562; + fra.me.meth = LOCATE_parser___ReduceAction742___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29562 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos746] = 1; + return; +} +void parser___ReduceAction743___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29566; + fra.me.meth = LOCATE_parser___ReduceAction743___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29578 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29578); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29580 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29580); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29582 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29582); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29584 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29584); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:29586 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29586); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29591 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29591); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29593 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29593); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29604 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction743___init(val_t p0, int* init_table){ + int itpos747 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction743].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos747]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29606; + fra.me.meth = LOCATE_parser___ReduceAction743___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29606 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos747] = 1; + return; +} +void parser___ReduceAction744___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29610; + fra.me.meth = LOCATE_parser___ReduceAction744___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29622 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29622); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29624 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29624); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29626 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29626); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29628 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29628); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:29630 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29630); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29635 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29635); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29637 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29637); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29648 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction744___init(val_t p0, int* init_table){ + int itpos748 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction744].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos748]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29650; + fra.me.meth = LOCATE_parser___ReduceAction744___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29650 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos748] = 1; + return; +} +void parser___ReduceAction745___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29654; + fra.me.meth = LOCATE_parser___ReduceAction745___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29666 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29666); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29668 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29668); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29670 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29670); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29672 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29672); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:29674 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29674); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29679 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29679); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29681 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29681); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29692 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction745___init(val_t p0, int* init_table){ + int itpos749 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction745].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos749]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29694; + fra.me.meth = LOCATE_parser___ReduceAction745___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29694 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos749] = 1; + return; +} +void parser___ReduceAction746___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29698; + fra.me.meth = LOCATE_parser___ReduceAction746___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29710 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29710); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29712 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29712); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29714 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29714); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29716 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29716); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:29718 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29718); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29723 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29723); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29725 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29725); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29736 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction746___init(val_t p0, int* init_table){ + int itpos750 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction746].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos750]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29738; + fra.me.meth = LOCATE_parser___ReduceAction746___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29738 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos750] = 1; + return; +} +void parser___ReduceAction747___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29742; + fra.me.meth = LOCATE_parser___ReduceAction747___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29754 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29754); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29756 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29756); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29758 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29758); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29760 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29760); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:29762 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29762); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29767); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29769 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29769); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29780 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction747___init(val_t p0, int* init_table){ + int itpos751 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction747].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos751]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29782; + fra.me.meth = LOCATE_parser___ReduceAction747___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29782 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos751] = 1; + return; +} +void parser___ReduceAction748___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29786; + fra.me.meth = LOCATE_parser___ReduceAction748___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29799 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29799); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29801 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29801); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29803 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29803); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29805 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29805); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:29807 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29807); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:29809 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29809); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29815 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29815); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29817 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29817); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29828 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction748___init(val_t p0, int* init_table){ + int itpos752 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction748].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos752]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29830; + fra.me.meth = LOCATE_parser___ReduceAction748___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29830 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos752] = 1; + return; +} +void parser___ReduceAction749___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29834; + fra.me.meth = LOCATE_parser___ReduceAction749___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29846 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29846); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29848 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29848); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29850 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29850); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29852 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29852); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:29854 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29854); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29859 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29859); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29861 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29861); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29872 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction749___init(val_t p0, int* init_table){ + int itpos753 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction749].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos753]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29874; + fra.me.meth = LOCATE_parser___ReduceAction749___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29874 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos753] = 1; + return; +} +void parser___ReduceAction750___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29878; + fra.me.meth = LOCATE_parser___ReduceAction750___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29891 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29891); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29893 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29893); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29895 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29895); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29897 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29897); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:29899 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29899); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:29901 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29901); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29907 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29907); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29909 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29909); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29920 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction750___init(val_t p0, int* init_table){ + int itpos754 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction750].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos754]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29922; + fra.me.meth = LOCATE_parser___ReduceAction750___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29922 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos754] = 1; + return; +} +void parser___ReduceAction751___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29926; + fra.me.meth = LOCATE_parser___ReduceAction751___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29940 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29940); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:29942 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29942); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29944 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29944); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29946 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29946); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:29948 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29948); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:29950 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29950); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:29952 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29952); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:29959 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29959); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:29961 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29961); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:29972 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction751___init(val_t p0, int* init_table){ + int itpos755 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction751].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos755]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29974; + fra.me.meth = LOCATE_parser___ReduceAction751___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:29974 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos755] = 1; + return; +} +void parser___ReduceAction752___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 29978; + fra.me.meth = LOCATE_parser___ReduceAction752___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:29990 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29990); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:29992 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29992); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:29994 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29994); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:29996 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 29996); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30001 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30001); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30003 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30003); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30014 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction752___init(val_t p0, int* init_table){ + int itpos756 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction752].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos756]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30016; + fra.me.meth = LOCATE_parser___ReduceAction752___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30016 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos756] = 1; + return; +} +void parser___ReduceAction753___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30020; + fra.me.meth = LOCATE_parser___ReduceAction753___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30032 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30032); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30034 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30034); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30036 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30036); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:30038 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30038); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30043 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30043); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30045 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30045); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30056 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction753___init(val_t p0, int* init_table){ + int itpos757 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction753].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos757]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30058; + fra.me.meth = LOCATE_parser___ReduceAction753___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30058 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos757] = 1; + return; +} +void parser___ReduceAction754___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30062; + fra.me.meth = LOCATE_parser___ReduceAction754___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30074 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30074); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30076 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30076); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30078 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30078); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:30080 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30080); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30085 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30085); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30087 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30087); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30098 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction754___init(val_t p0, int* init_table){ + int itpos758 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction754].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos758]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30100; + fra.me.meth = LOCATE_parser___ReduceAction754___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30100 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos758] = 1; + return; +} +void parser___ReduceAction755___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30104; + fra.me.meth = LOCATE_parser___ReduceAction755___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30116 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30116); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30118 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30118); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30120 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30120); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:30122 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30122); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30127 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30127); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30129 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30129); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30140 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction755___init(val_t p0, int* init_table){ + int itpos759 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction755].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos759]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30142; + fra.me.meth = LOCATE_parser___ReduceAction755___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30142 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos759] = 1; + return; +} +void parser___ReduceAction756___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30146; + fra.me.meth = LOCATE_parser___ReduceAction756___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30158 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30158); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30160 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30160); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30162 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30162); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:30164 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30164); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30169 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30169); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30171 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30171); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30182 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction756___init(val_t p0, int* init_table){ + int itpos760 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction756].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos760]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30184; + fra.me.meth = LOCATE_parser___ReduceAction756___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30184 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos760] = 1; + return; +} +void parser___ReduceAction757___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30188; + fra.me.meth = LOCATE_parser___ReduceAction757___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30200 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30200); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30202 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30202); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30204 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30204); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:30206 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30206); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30211 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30211); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30213 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30213); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30224 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction757___init(val_t p0, int* init_table){ + int itpos761 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction757].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos761]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30226; + fra.me.meth = LOCATE_parser___ReduceAction757___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30226 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos761] = 1; + return; +} +void parser___ReduceAction758___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30230; + fra.me.meth = LOCATE_parser___ReduceAction758___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30242 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30242); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30244 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30244); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30246 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30246); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:30248 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30248); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30253 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30253); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30255 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30255); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30266 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction758___init(val_t p0, int* init_table){ + int itpos762 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction758].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos762]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30268; + fra.me.meth = LOCATE_parser___ReduceAction758___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30268 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos762] = 1; + return; +} +void parser___ReduceAction759___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30272; + fra.me.meth = LOCATE_parser___ReduceAction759___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30284 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30284); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30286 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30286); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30288 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30288); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:30290 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30290); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30295 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30295); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30297 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30297); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30308 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction759___init(val_t p0, int* init_table){ + int itpos763 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction759].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos763]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30310; + fra.me.meth = LOCATE_parser___ReduceAction759___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30310 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos763] = 1; + return; +} +void parser___ReduceAction760___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30314; + fra.me.meth = LOCATE_parser___ReduceAction760___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30326 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30326); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30328 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30328); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30330 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30330); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:30332 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30332); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30337 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30337); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30339 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30339); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30350 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction760___init(val_t p0, int* init_table){ + int itpos764 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction760].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos764]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30352; + fra.me.meth = LOCATE_parser___ReduceAction760___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30352 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos764] = 1; + return; +} +void parser___ReduceAction761___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30356; + fra.me.meth = LOCATE_parser___ReduceAction761___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30368 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30368); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30370 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30370); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30372 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30372); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:30374 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30374); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30379 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30379); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30381 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30381); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30392 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction761___init(val_t p0, int* init_table){ + int itpos765 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction761].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos765]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30394; + fra.me.meth = LOCATE_parser___ReduceAction761___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30394 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos765] = 1; + return; +} +void parser___ReduceAction762___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30398; + fra.me.meth = LOCATE_parser___ReduceAction762___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30410 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30410); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30412 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30412); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30414 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30414); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:30416 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30416); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30421 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30421); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30423 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30423); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30434 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction762___init(val_t p0, int* init_table){ + int itpos766 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction762].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos766]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30436; + fra.me.meth = LOCATE_parser___ReduceAction762___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30436 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos766] = 1; + return; +} +void parser___ReduceAction763___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30440; + fra.me.meth = LOCATE_parser___ReduceAction763___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30452 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30452); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30454 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30454); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30456 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30456); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:30458 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30458); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30463 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30463); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30465 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30465); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30476 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction763___init(val_t p0, int* init_table){ + int itpos767 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction763].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos767]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30478; + fra.me.meth = LOCATE_parser___ReduceAction763___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30478 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos767] = 1; + return; +} +void parser___ReduceAction764___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30482; + fra.me.meth = LOCATE_parser___ReduceAction764___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30495 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30495); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30497 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30497); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30499 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30499); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:30501 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30501); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:30503 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30503); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30509 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30509); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30511 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30511); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30522 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction764___init(val_t p0, int* init_table){ + int itpos768 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction764].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos768]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30524; + fra.me.meth = LOCATE_parser___ReduceAction764___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30524 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos768] = 1; + return; +} +void parser___ReduceAction765___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30528; + fra.me.meth = LOCATE_parser___ReduceAction765___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30540 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30540); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30542 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30542); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30544 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30544); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:30546 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30546); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30551 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30551); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30553 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30553); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30564 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction765___init(val_t p0, int* init_table){ + int itpos769 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction765].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos769]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30566; + fra.me.meth = LOCATE_parser___ReduceAction765___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30566 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos769] = 1; + return; +} +void parser___ReduceAction766___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30570; + fra.me.meth = LOCATE_parser___ReduceAction766___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30583 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30583); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30585 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30585); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30587 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30587); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:30589 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30589); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:30591 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30591); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30597 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30597); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30599 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30599); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30610 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction766___init(val_t p0, int* init_table){ + int itpos770 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction766].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos770]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30612; + fra.me.meth = LOCATE_parser___ReduceAction766___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30612 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos770] = 1; + return; +} +void parser___ReduceAction767___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30616; + fra.me.meth = LOCATE_parser___ReduceAction767___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30630 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30630); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30632 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30632); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30634 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30634); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:30636 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30636); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:30638 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30638); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:30640 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30640); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30647 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30647); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30649 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30649); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30660 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction767___init(val_t p0, int* init_table){ + int itpos771 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction767].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos771]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30662; + fra.me.meth = LOCATE_parser___ReduceAction767___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30662 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos771] = 1; + return; +} +void parser___ReduceAction768___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30666; + fra.me.meth = LOCATE_parser___ReduceAction768___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30679 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30679); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:30681 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30681); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30683 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30683); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30685 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30685); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:30687 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30687); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30692 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30692); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30694 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30694); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30705 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction768___init(val_t p0, int* init_table){ + int itpos772 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction768].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos772]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30707; + fra.me.meth = LOCATE_parser___ReduceAction768___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30707 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos772] = 1; + return; +} +void parser___ReduceAction769___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30711; + fra.me.meth = LOCATE_parser___ReduceAction769___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30724 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30724); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:30726 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30726); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30728 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30728); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30730 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30730); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:30732 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30732); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30737 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30737); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30739 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30739); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30750 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction769___init(val_t p0, int* init_table){ + int itpos773 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction769].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos773]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30752; + fra.me.meth = LOCATE_parser___ReduceAction769___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30752 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos773] = 1; + return; +} +void parser___ReduceAction770___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30756; + fra.me.meth = LOCATE_parser___ReduceAction770___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30769 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30769); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:30771 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30771); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30773 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30773); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30775 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30775); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:30777 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30777); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30782 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30782); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30784 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30784); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30795 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction770___init(val_t p0, int* init_table){ + int itpos774 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction770].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos774]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30797; + fra.me.meth = LOCATE_parser___ReduceAction770___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30797 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos774] = 1; + return; +} +void parser___ReduceAction771___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30801; + fra.me.meth = LOCATE_parser___ReduceAction771___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30814 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30814); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:30816 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30816); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30818 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30818); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30820 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30820); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:30822 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30822); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30827 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30827); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30829 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30829); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30840 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction771___init(val_t p0, int* init_table){ + int itpos775 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction771].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos775]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30842; + fra.me.meth = LOCATE_parser___ReduceAction771___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30842 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos775] = 1; + return; +} +void parser___ReduceAction772___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30846; + fra.me.meth = LOCATE_parser___ReduceAction772___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30859 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30859); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:30861 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30861); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30863 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30863); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30865 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30865); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:30867 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30867); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30872 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30872); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30874 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30874); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30885 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction772___init(val_t p0, int* init_table){ + int itpos776 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction772].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos776]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30887; + fra.me.meth = LOCATE_parser___ReduceAction772___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30887 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos776] = 1; + return; +} +void parser___ReduceAction773___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30891; + fra.me.meth = LOCATE_parser___ReduceAction773___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30904 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30904); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:30906 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30906); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30908 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30908); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30910 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30910); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:30912 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30912); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30917 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30917); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30919 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30919); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30930 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction773___init(val_t p0, int* init_table){ + int itpos777 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction773].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos777]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30932; + fra.me.meth = LOCATE_parser___ReduceAction773___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30932 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos777] = 1; + return; +} +void parser___ReduceAction774___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30936; + fra.me.meth = LOCATE_parser___ReduceAction774___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30949 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30949); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:30951 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30951); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30953 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30953); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:30955 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30955); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:30957 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30957); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:30962 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30962); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:30964 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30964); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:30975 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction774___init(val_t p0, int* init_table){ + int itpos778 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction774].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos778]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30977; + fra.me.meth = LOCATE_parser___ReduceAction774___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:30977 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos778] = 1; + return; +} +void parser___ReduceAction775___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 30981; + fra.me.meth = LOCATE_parser___ReduceAction775___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:30994 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30994); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:30996 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30996); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:30998 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 30998); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31000 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31000); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:31002 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31002); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31007 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31007); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31009 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31009); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31020 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction775___init(val_t p0, int* init_table){ + int itpos779 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction775].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos779]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31022; + fra.me.meth = LOCATE_parser___ReduceAction775___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31022 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos779] = 1; + return; +} +void parser___ReduceAction776___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31026; + fra.me.meth = LOCATE_parser___ReduceAction776___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31039 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31039); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:31041 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31041); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31043 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31043); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31045 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31045); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:31047 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31047); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31052 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31052); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31054 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31054); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31065 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction776___init(val_t p0, int* init_table){ + int itpos780 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction776].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos780]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31067; + fra.me.meth = LOCATE_parser___ReduceAction776___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31067 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos780] = 1; + return; +} +void parser___ReduceAction777___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31071; + fra.me.meth = LOCATE_parser___ReduceAction777___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31084 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31084); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:31086 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31086); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31088 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31088); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31090 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31090); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:31092 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31092); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31097 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31097); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31099 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31099); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31110 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction777___init(val_t p0, int* init_table){ + int itpos781 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction777].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos781]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31112; + fra.me.meth = LOCATE_parser___ReduceAction777___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31112 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos781] = 1; + return; +} +void parser___ReduceAction778___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31116; + fra.me.meth = LOCATE_parser___ReduceAction778___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31129 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31129); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:31131 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31131); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31133 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31133); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31135 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31135); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:31137 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31137); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31142 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31142); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31144 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31144); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31155 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction778___init(val_t p0, int* init_table){ + int itpos782 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction778].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos782]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31157; + fra.me.meth = LOCATE_parser___ReduceAction778___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31157 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos782] = 1; + return; +} +void parser___ReduceAction779___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31161; + fra.me.meth = LOCATE_parser___ReduceAction779___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31174 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31174); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:31176 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31176); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31178 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31178); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31180 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31180); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:31182 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31182); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31187 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31187); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31189); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31200 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction779___init(val_t p0, int* init_table){ + int itpos783 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction779].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos783]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31202; + fra.me.meth = LOCATE_parser___ReduceAction779___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31202 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos783] = 1; + return; +} +void parser___ReduceAction780___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31206; + fra.me.meth = LOCATE_parser___ReduceAction780___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31220 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31220); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:31222 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31222); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31224 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31224); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31226 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31226); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:31228 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31228); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:31230 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31230); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31236 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31236); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31238 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31238); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31249 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction780___init(val_t p0, int* init_table){ + int itpos784 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction780].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos784]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31251; + fra.me.meth = LOCATE_parser___ReduceAction780___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31251 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos784] = 1; + return; +} +void parser___ReduceAction781___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31255; + fra.me.meth = LOCATE_parser___ReduceAction781___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31268 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31268); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:31270 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31270); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31272 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31272); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31274 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31274); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:31276 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31276); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31281 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31281); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31283 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31283); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31294 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction781___init(val_t p0, int* init_table){ + int itpos785 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction781].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos785]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31296; + fra.me.meth = LOCATE_parser___ReduceAction781___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31296 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos785] = 1; + return; +} +void parser___ReduceAction782___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31300; + fra.me.meth = LOCATE_parser___ReduceAction782___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31314 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31314); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:31316 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31316); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31318); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31320); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:31322 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31322); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:31324 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31324); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31330 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31330); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31332 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31332); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31343 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction782___init(val_t p0, int* init_table){ + int itpos786 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction782].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos786]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31345; + fra.me.meth = LOCATE_parser___ReduceAction782___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31345 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos786] = 1; + return; +} +void parser___ReduceAction783___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31349; + fra.me.meth = LOCATE_parser___ReduceAction783___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31364 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31364); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:31366 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31366); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31368 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31368); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31370 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31370); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:31372 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31372); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:31374 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31374); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:31376 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31376); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31383 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31383); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31385 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31385); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31396 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction783___init(val_t p0, int* init_table){ + int itpos787 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction783].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos787]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31398; + fra.me.meth = LOCATE_parser___ReduceAction783___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31398 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos787] = 1; + return; +} +void parser___ReduceAction784___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31402; + fra.me.meth = LOCATE_parser___ReduceAction784___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31414 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31414); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31416 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31416); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31418 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31418); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:31420 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31420); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31425 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31425); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31427 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31427); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31438 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction784___init(val_t p0, int* init_table){ + int itpos788 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction784].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos788]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31440; + fra.me.meth = LOCATE_parser___ReduceAction784___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31440 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos788] = 1; + return; +} +void parser___ReduceAction785___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31444; + fra.me.meth = LOCATE_parser___ReduceAction785___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31456 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31456); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31458 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31458); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31460 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31460); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:31462 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31462); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31467 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31467); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31469 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31469); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31480 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction785___init(val_t p0, int* init_table){ + int itpos789 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction785].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos789]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31482; + fra.me.meth = LOCATE_parser___ReduceAction785___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31482 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos789] = 1; + return; +} +void parser___ReduceAction786___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31486; + fra.me.meth = LOCATE_parser___ReduceAction786___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31498 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31498); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31500 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31500); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31502 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31502); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:31504 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31504); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31509 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31509); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31511 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31511); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31522 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction786___init(val_t p0, int* init_table){ + int itpos790 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction786].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos790]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31524; + fra.me.meth = LOCATE_parser___ReduceAction786___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31524 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos790] = 1; + return; +} +void parser___ReduceAction787___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31528; + fra.me.meth = LOCATE_parser___ReduceAction787___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31540 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31540); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31542 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31542); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31544 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31544); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:31546 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31546); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31551 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31551); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31553 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31553); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31564 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction787___init(val_t p0, int* init_table){ + int itpos791 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction787].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos791]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31566; + fra.me.meth = LOCATE_parser___ReduceAction787___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31566 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos791] = 1; + return; +} +void parser___ReduceAction788___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31570; + fra.me.meth = LOCATE_parser___ReduceAction788___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31582 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31582); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31584 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31584); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31586 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31586); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:31588 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31588); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31593 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31593); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31595 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31595); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31606 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction788___init(val_t p0, int* init_table){ + int itpos792 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction788].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos792]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31608; + fra.me.meth = LOCATE_parser___ReduceAction788___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31608 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos792] = 1; + return; +} +void parser___ReduceAction789___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31612; + fra.me.meth = LOCATE_parser___ReduceAction789___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31624 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31624); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31626 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31626); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31628 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31628); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:31630 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31630); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31635 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31635); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31637 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31637); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31648 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction789___init(val_t p0, int* init_table){ + int itpos793 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction789].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos793]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31650; + fra.me.meth = LOCATE_parser___ReduceAction789___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31650 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos793] = 1; + return; +} +void parser___ReduceAction790___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31654; + fra.me.meth = LOCATE_parser___ReduceAction790___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31666 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31666); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31668 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31668); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31670 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31670); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:31672 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31672); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31677 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31677); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31679 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31679); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31690 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction790___init(val_t p0, int* init_table){ + int itpos794 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction790].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos794]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31692; + fra.me.meth = LOCATE_parser___ReduceAction790___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31692 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos794] = 1; + return; +} +void parser___ReduceAction791___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31696; + fra.me.meth = LOCATE_parser___ReduceAction791___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31708 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31708); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31710 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31710); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31712 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31712); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:31714 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31714); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31719 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31719); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31721 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31721); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31732 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction791___init(val_t p0, int* init_table){ + int itpos795 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction791].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos795]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31734; + fra.me.meth = LOCATE_parser___ReduceAction791___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31734 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos795] = 1; + return; +} +void parser___ReduceAction792___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31738; + fra.me.meth = LOCATE_parser___ReduceAction792___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31750 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31750); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31752 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31752); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31754 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31754); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:31756 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31756); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31761 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31761); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31763 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31763); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31774 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction792___init(val_t p0, int* init_table){ + int itpos796 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction792].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos796]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31776; + fra.me.meth = LOCATE_parser___ReduceAction792___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31776 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos796] = 1; + return; +} +void parser___ReduceAction793___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31780; + fra.me.meth = LOCATE_parser___ReduceAction793___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31792 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31792); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31794 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31794); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31796 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31796); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:31798 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31798); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31803 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31803); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31805 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31805); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31816 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction793___init(val_t p0, int* init_table){ + int itpos797 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction793].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos797]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31818; + fra.me.meth = LOCATE_parser___ReduceAction793___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31818 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos797] = 1; + return; +} +void parser___ReduceAction794___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31822; + fra.me.meth = LOCATE_parser___ReduceAction794___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31834 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31834); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31836 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31836); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31838 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31838); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:31840 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31840); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31845 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31845); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31847 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31847); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31858 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction794___init(val_t p0, int* init_table){ + int itpos798 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction794].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos798]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31860; + fra.me.meth = LOCATE_parser___ReduceAction794___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31860 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos798] = 1; + return; +} +void parser___ReduceAction795___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31864; + fra.me.meth = LOCATE_parser___ReduceAction795___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31876 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31876); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31878 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31878); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31880 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31880); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:31882 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31882); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31887 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31887); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31889 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31889); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31900 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction795___init(val_t p0, int* init_table){ + int itpos799 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction795].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos799]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31902; + fra.me.meth = LOCATE_parser___ReduceAction795___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31902 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos799] = 1; + return; +} +void parser___ReduceAction796___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31906; + fra.me.meth = LOCATE_parser___ReduceAction796___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31919 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31919); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31921 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31921); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31923 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31923); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:31925 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31925); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:31927 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31927); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31933 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31933); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31935 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31935); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31946 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction796___init(val_t p0, int* init_table){ + int itpos800 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction796].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos800]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31948; + fra.me.meth = LOCATE_parser___ReduceAction796___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31948 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos800] = 1; + return; +} +void parser___ReduceAction797___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31952; + fra.me.meth = LOCATE_parser___ReduceAction797___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:31964 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31964); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:31966 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31966); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:31968 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31968); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:31970 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31970); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:31975 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31975); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:31977 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 31977); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:31988 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction797___init(val_t p0, int* init_table){ + int itpos801 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction797].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos801]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31990; + fra.me.meth = LOCATE_parser___ReduceAction797___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:31990 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos801] = 1; + return; +} +void parser___ReduceAction798___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 31994; + fra.me.meth = LOCATE_parser___ReduceAction798___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32007 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32007); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32009 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32009); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32011 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32011); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32013 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32013); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:32015 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32015); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32020 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32020); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32022 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32022); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32033 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction798___init(val_t p0, int* init_table){ + int itpos802 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction798].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos802]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32035; + fra.me.meth = LOCATE_parser___ReduceAction798___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32035 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos802] = 1; + return; +} +void parser___ReduceAction799___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32039; + fra.me.meth = LOCATE_parser___ReduceAction799___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32052 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32052); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32054 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32054); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32056 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32056); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32058 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32058); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:32060 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32060); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32065 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32065); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32067 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32067); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32078 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction799___init(val_t p0, int* init_table){ + int itpos803 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction799].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos803]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32080; + fra.me.meth = LOCATE_parser___ReduceAction799___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32080 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos803] = 1; + return; +} +void parser___ReduceAction800___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32084; + fra.me.meth = LOCATE_parser___ReduceAction800___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32097 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32097); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32099 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32099); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32101 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32101); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32103 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32103); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:32105 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32105); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32110 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32110); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32112 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32112); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32123 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction800___init(val_t p0, int* init_table){ + int itpos804 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction800].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos804]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32125; + fra.me.meth = LOCATE_parser___ReduceAction800___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32125 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos804] = 1; + return; +} +void parser___ReduceAction801___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32129; + fra.me.meth = LOCATE_parser___ReduceAction801___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32142 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32142); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32144 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32144); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32146 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32146); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32148 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32148); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:32150 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32150); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32155 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32155); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32157 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32157); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32168 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction801___init(val_t p0, int* init_table){ + int itpos805 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction801].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos805]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32170; + fra.me.meth = LOCATE_parser___ReduceAction801___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32170 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos805] = 1; + return; +} +void parser___ReduceAction802___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32174; + fra.me.meth = LOCATE_parser___ReduceAction802___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32187 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32187); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32189); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32191 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32191); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32193 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32193); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:32195 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32195); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32200 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32200); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32202 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32202); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32213 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction802___init(val_t p0, int* init_table){ + int itpos806 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction802].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos806]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32215; + fra.me.meth = LOCATE_parser___ReduceAction802___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32215 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos806] = 1; + return; +} +void parser___ReduceAction803___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32219; + fra.me.meth = LOCATE_parser___ReduceAction803___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32232 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32232); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32234 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32234); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32236 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32236); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32238 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32238); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:32240 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32240); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32245 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32245); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32247 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32247); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32258 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction803___init(val_t p0, int* init_table){ + int itpos807 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction803].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos807]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32260; + fra.me.meth = LOCATE_parser___ReduceAction803___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32260 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos807] = 1; + return; +} +void parser___ReduceAction804___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32264; + fra.me.meth = LOCATE_parser___ReduceAction804___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32277 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32277); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32279 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32279); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32281 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32281); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32283 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32283); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:32285 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32285); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32290 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32290); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32292 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32292); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32303 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction804___init(val_t p0, int* init_table){ + int itpos808 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction804].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos808]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32305; + fra.me.meth = LOCATE_parser___ReduceAction804___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32305 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos808] = 1; + return; +} +void parser___ReduceAction805___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32309; + fra.me.meth = LOCATE_parser___ReduceAction805___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32322 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32322); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32324 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32324); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32326 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32326); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32328 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32328); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:32330 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32330); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32335 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32335); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32337 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32337); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32348 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction805___init(val_t p0, int* init_table){ + int itpos809 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction805].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos809]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32350; + fra.me.meth = LOCATE_parser___ReduceAction805___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32350 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos809] = 1; + return; +} +void parser___ReduceAction806___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32354; + fra.me.meth = LOCATE_parser___ReduceAction806___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32367 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32367); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32369 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32369); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32371 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32371); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32373 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32373); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:32375 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32375); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32380 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32380); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32382 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32382); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32393 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction806___init(val_t p0, int* init_table){ + int itpos810 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction806].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos810]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32395; + fra.me.meth = LOCATE_parser___ReduceAction806___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32395 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos810] = 1; + return; +} +void parser___ReduceAction807___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32399; + fra.me.meth = LOCATE_parser___ReduceAction807___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32412 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32412); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32414 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32414); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32416 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32416); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32418 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32418); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:32420 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32420); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32425 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32425); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32427 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32427); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32438 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction807___init(val_t p0, int* init_table){ + int itpos811 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction807].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos811]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32440; + fra.me.meth = LOCATE_parser___ReduceAction807___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32440 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos811] = 1; + return; +} +void parser___ReduceAction808___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32444; + fra.me.meth = LOCATE_parser___ReduceAction808___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32457 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32457); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32459 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32459); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32461 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32461); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32463 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32463); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:32465 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32465); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32470 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32470); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32472 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32472); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32483 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction808___init(val_t p0, int* init_table){ + int itpos812 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction808].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos812]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32485; + fra.me.meth = LOCATE_parser___ReduceAction808___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32485 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos812] = 1; + return; +} +void parser___ReduceAction809___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32489; + fra.me.meth = LOCATE_parser___ReduceAction809___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32502 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32502); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32504 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32504); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32506 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32506); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32508 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32508); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:32510 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32510); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32515 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32515); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32517 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32517); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32528 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction809___init(val_t p0, int* init_table){ + int itpos813 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction809].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos813]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32530; + fra.me.meth = LOCATE_parser___ReduceAction809___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32530 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos813] = 1; + return; +} +void parser___ReduceAction810___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32534; + fra.me.meth = LOCATE_parser___ReduceAction810___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32548 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32548); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32550 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32550); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32552 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32552); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32554 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32554); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:32556 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32556); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:32558 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32558); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32564 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32564); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32566 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32566); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32577 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction810___init(val_t p0, int* init_table){ + int itpos814 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction810].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos814]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32579; + fra.me.meth = LOCATE_parser___ReduceAction810___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32579 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos814] = 1; + return; +} +void parser___ReduceAction811___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32583; + fra.me.meth = LOCATE_parser___ReduceAction811___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32596 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32596); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:32598 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32598); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32600); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32602 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32602); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:32604 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32604); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32609 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32609); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:32611 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32611); + nit_exit(1); + } + fra.me.REG[2] = NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32622 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction811___init(val_t p0, int* init_table){ + int itpos815 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction811].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos815]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32624; + fra.me.meth = LOCATE_parser___ReduceAction811___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32624 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos815] = 1; + return; +} +void parser___ReduceAction812___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32628; + fra.me.meth = LOCATE_parser___ReduceAction812___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32639 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32639); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32641 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32641); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32643 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32643); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:32645 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32645); + nit_exit(1); + } + fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32650 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32650); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32661 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction812___init(val_t p0, int* init_table){ + int itpos816 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction812].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos816]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32663; + fra.me.meth = LOCATE_parser___ReduceAction812___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32663 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos816] = 1; + return; +} +void parser___ReduceAction813___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32667; + fra.me.meth = LOCATE_parser___ReduceAction813___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32678 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32678); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32680 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32680); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32682 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32682); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:32684 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32684); + nit_exit(1); + } + fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32689 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32689); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32700 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction813___init(val_t p0, int* init_table){ + int itpos817 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction813].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos817]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32702; + fra.me.meth = LOCATE_parser___ReduceAction813___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32702 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos817] = 1; + return; +} +void parser___ReduceAction814___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32706; + fra.me.meth = LOCATE_parser___ReduceAction814___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32717 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32717); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32719 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32719); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32721 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32721); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:32723 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32723); + nit_exit(1); + } + fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32728 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32728); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32739 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction814___init(val_t p0, int* init_table){ + int itpos818 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction814].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos818]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32741; + fra.me.meth = LOCATE_parser___ReduceAction814___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32741 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos818] = 1; + return; +} +void parser___ReduceAction815___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32745; + fra.me.meth = LOCATE_parser___ReduceAction815___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32756 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32756); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32758 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32758); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32760 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32760); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:32762 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32762); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32767); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32778 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction815___init(val_t p0, int* init_table){ + int itpos819 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction815].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos819]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32780; + fra.me.meth = LOCATE_parser___ReduceAction815___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32780 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos819] = 1; + return; +} +void parser___ReduceAction816___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32784; + fra.me.meth = LOCATE_parser___ReduceAction816___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32795 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32795); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32797 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32797); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32799 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32799); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:32801 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32801); + nit_exit(1); + } + fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32806 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32806); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32817 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction816___init(val_t p0, int* init_table){ + int itpos820 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction816].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos820]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32819; + fra.me.meth = LOCATE_parser___ReduceAction816___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32819 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos820] = 1; + return; +} +void parser___ReduceAction817___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32823; + fra.me.meth = LOCATE_parser___ReduceAction817___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32834 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32834); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32836 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32836); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32838 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32838); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:32840 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32840); + nit_exit(1); + } + fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32845 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32845); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32856 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction817___init(val_t p0, int* init_table){ + int itpos821 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction817].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos821]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32858; + fra.me.meth = LOCATE_parser___ReduceAction817___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32858 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos821] = 1; + return; +} +void parser___ReduceAction818___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32862; + fra.me.meth = LOCATE_parser___ReduceAction818___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32873 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32873); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32875 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32875); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32877 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32877); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:32879 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32879); + nit_exit(1); + } + fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32884 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32884); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32895 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction818___init(val_t p0, int* init_table){ + int itpos822 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction818].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos822]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32897; + fra.me.meth = LOCATE_parser___ReduceAction818___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32897 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos822] = 1; + return; +} +void parser___ReduceAction819___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32901; + fra.me.meth = LOCATE_parser___ReduceAction819___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32912 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32912); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32914 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32914); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32916 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32916); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:32918 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32918); + nit_exit(1); + } + fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32923 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32923); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32934 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction819___init(val_t p0, int* init_table){ + int itpos823 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction819].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos823]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32936; + fra.me.meth = LOCATE_parser___ReduceAction819___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32936 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos823] = 1; + return; +} +void parser___ReduceAction820___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32940; + fra.me.meth = LOCATE_parser___ReduceAction820___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32951 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32951); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32953 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32953); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32955 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32955); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:32957 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32957); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:32962 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32962); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:32973 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction820___init(val_t p0, int* init_table){ + int itpos824 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction820].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos824]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32975; + fra.me.meth = LOCATE_parser___ReduceAction820___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:32975 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos824] = 1; + return; +} +void parser___ReduceAction821___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 32979; + fra.me.meth = LOCATE_parser___ReduceAction821___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:32990 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32990); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:32992 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32992); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:32994 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32994); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:32996 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 32996); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33001 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33001); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33012 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction821___init(val_t p0, int* init_table){ + int itpos825 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction821].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos825]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33014; + fra.me.meth = LOCATE_parser___ReduceAction821___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33014 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos825] = 1; + return; +} +void parser___ReduceAction822___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33018; + fra.me.meth = LOCATE_parser___ReduceAction822___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33029 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33029); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33031 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33031); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33033 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33033); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:33035 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33035); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33040 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33040); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33051 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction822___init(val_t p0, int* init_table){ + int itpos826 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction822].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos826]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33053; + fra.me.meth = LOCATE_parser___ReduceAction822___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33053 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos826] = 1; + return; +} +void parser___ReduceAction823___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33057; + fra.me.meth = LOCATE_parser___ReduceAction823___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33068 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33068); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33070 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33070); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33072 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33072); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:33074 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33074); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33079 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33079); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33090 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction823___init(val_t p0, int* init_table){ + int itpos827 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction823].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos827]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33092; + fra.me.meth = LOCATE_parser___ReduceAction823___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33092 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos827] = 1; + return; +} +void parser___ReduceAction824___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33096; + fra.me.meth = LOCATE_parser___ReduceAction824___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33108 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33108); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33110 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33110); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33112 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33112); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:33114 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33114); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:33116 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33116); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33122 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33122); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33133 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction824___init(val_t p0, int* init_table){ + int itpos828 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction824].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos828]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33135; + fra.me.meth = LOCATE_parser___ReduceAction824___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33135 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos828] = 1; + return; +} +void parser___ReduceAction825___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33139; + fra.me.meth = LOCATE_parser___ReduceAction825___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33150 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33150); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33152 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33152); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33154 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33154); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:33156 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33156); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33161 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33161); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33172 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction825___init(val_t p0, int* init_table){ + int itpos829 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction825].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos829]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33174; + fra.me.meth = LOCATE_parser___ReduceAction825___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33174 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos829] = 1; + return; +} +void parser___ReduceAction826___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33178; + fra.me.meth = LOCATE_parser___ReduceAction826___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33190 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33190); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33192 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33192); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33194 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33194); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:33196 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33196); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:33198 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33198); + nit_exit(1); + } + fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33204 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33204); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33215 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction826___init(val_t p0, int* init_table){ + int itpos830 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction826].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos830]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33217; + fra.me.meth = LOCATE_parser___ReduceAction826___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33217 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos830] = 1; + return; +} +void parser___ReduceAction827___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33221; + fra.me.meth = LOCATE_parser___ReduceAction827___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33234 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33234); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33236 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33236); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33238 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33238); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:33240 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33240); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:33242 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33242); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:33244 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33244); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33251 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33251); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33262 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction827___init(val_t p0, int* init_table){ + int itpos831 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction827].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos831]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33264; + fra.me.meth = LOCATE_parser___ReduceAction827___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33264 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos831] = 1; + return; +} +void parser___ReduceAction828___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33268; + fra.me.meth = LOCATE_parser___ReduceAction828___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33280 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33280); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33282 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33282); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33284 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33284); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33286 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33286); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:33288 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33288); + nit_exit(1); + } + fra.me.REG[3] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33293 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33293); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33304 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction828___init(val_t p0, int* init_table){ + int itpos832 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction828].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos832]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33306; + fra.me.meth = LOCATE_parser___ReduceAction828___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33306 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos832] = 1; + return; +} +void parser___ReduceAction829___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33310; + fra.me.meth = LOCATE_parser___ReduceAction829___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33322 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33322); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33324 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33324); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33326 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33326); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33328 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33328); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:33330 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33330); + nit_exit(1); + } + fra.me.REG[3] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33335 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33335); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33346 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction829___init(val_t p0, int* init_table){ + int itpos833 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction829].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos833]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33348; + fra.me.meth = LOCATE_parser___ReduceAction829___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33348 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos833] = 1; + return; +} +void parser___ReduceAction830___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33352; + fra.me.meth = LOCATE_parser___ReduceAction830___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33364 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33364); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33366 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33366); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33368 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33368); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33370 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33370); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:33372 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33372); + nit_exit(1); + } + fra.me.REG[3] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33377 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33377); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33388 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction830___init(val_t p0, int* init_table){ + int itpos834 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction830].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos834]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33390; + fra.me.meth = LOCATE_parser___ReduceAction830___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33390 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos834] = 1; + return; +} +void parser___ReduceAction831___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33394; + fra.me.meth = LOCATE_parser___ReduceAction831___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33406 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33406); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33408 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33408); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33410 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33410); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33412 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33412); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:33414 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33414); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33419 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33419); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33430 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction831___init(val_t p0, int* init_table){ + int itpos835 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction831].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos835]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33432; + fra.me.meth = LOCATE_parser___ReduceAction831___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33432 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos835] = 1; + return; +} +void parser___ReduceAction832___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33436; + fra.me.meth = LOCATE_parser___ReduceAction832___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33448 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33448); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33450 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33450); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33452 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33452); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33454 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33454); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:33456 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33456); + nit_exit(1); + } + fra.me.REG[3] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33461 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33461); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33472 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction832___init(val_t p0, int* init_table){ + int itpos836 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction832].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos836]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33474; + fra.me.meth = LOCATE_parser___ReduceAction832___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33474 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos836] = 1; + return; +} +void parser___ReduceAction833___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33478; + fra.me.meth = LOCATE_parser___ReduceAction833___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33490 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33490); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33492 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33492); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33494 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33494); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33496 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33496); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:33498 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33498); + nit_exit(1); + } + fra.me.REG[3] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33503 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33503); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33514 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction833___init(val_t p0, int* init_table){ + int itpos837 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction833].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos837]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33516; + fra.me.meth = LOCATE_parser___ReduceAction833___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33516 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos837] = 1; + return; +} +void parser___ReduceAction834___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33520; + fra.me.meth = LOCATE_parser___ReduceAction834___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33532 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33532); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33534 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33534); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33536 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33536); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33538 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33538); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:33540 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33540); + nit_exit(1); + } + fra.me.REG[3] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33545 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33545); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33556 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction834___init(val_t p0, int* init_table){ + int itpos838 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction834].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos838]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33558; + fra.me.meth = LOCATE_parser___ReduceAction834___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33558 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos838] = 1; + return; +} +void parser___ReduceAction835___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33562; + fra.me.meth = LOCATE_parser___ReduceAction835___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33574 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33574); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33576 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33576); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33578 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33578); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33580 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33580); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:33582 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33582); + nit_exit(1); + } + fra.me.REG[3] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33587 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33587); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33598 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction835___init(val_t p0, int* init_table){ + int itpos839 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction835].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos839]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33600; + fra.me.meth = LOCATE_parser___ReduceAction835___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33600 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos839] = 1; + return; +} +void parser___ReduceAction836___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33604; + fra.me.meth = LOCATE_parser___ReduceAction836___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33616 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33616); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33618 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33618); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33620 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33620); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33622 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33622); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:33624 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33624); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33629 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33629); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33640 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction836___init(val_t p0, int* init_table){ + int itpos840 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction836].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos840]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33642; + fra.me.meth = LOCATE_parser___ReduceAction836___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33642 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos840] = 1; + return; +} +void parser___ReduceAction837___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33646; + fra.me.meth = LOCATE_parser___ReduceAction837___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33658 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33658); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33660 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33660); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33662 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33662); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33664 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33664); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:33666 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33666); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33671 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33671); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33682 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction837___init(val_t p0, int* init_table){ + int itpos841 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction837].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos841]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33684; + fra.me.meth = LOCATE_parser___ReduceAction837___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33684 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos841] = 1; + return; +} +void parser___ReduceAction838___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33688; + fra.me.meth = LOCATE_parser___ReduceAction838___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33700 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33700); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33702 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33702); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33704 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33704); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33706 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33706); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:33708 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33708); + nit_exit(1); + } + fra.me.REG[3] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33713 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33713); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33724 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction838___init(val_t p0, int* init_table){ + int itpos842 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction838].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos842]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33726; + fra.me.meth = LOCATE_parser___ReduceAction838___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33726 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos842] = 1; + return; +} +void parser___ReduceAction839___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33730; + fra.me.meth = LOCATE_parser___ReduceAction839___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33742 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33742); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33744 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33744); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33746 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33746); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33748 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33748); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:33750 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33750); + nit_exit(1); + } + fra.me.REG[3] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33755 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33755); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33766 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction839___init(val_t p0, int* init_table){ + int itpos843 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction839].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos843]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33768; + fra.me.meth = LOCATE_parser___ReduceAction839___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33768 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos843] = 1; + return; +} +void parser___ReduceAction840___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33772; + fra.me.meth = LOCATE_parser___ReduceAction840___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33785 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33785); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33787 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33787); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33789 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33789); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33791 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33791); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:33793 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33793); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:33795 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33795); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33801 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33801); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33812 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction840___init(val_t p0, int* init_table){ + int itpos844 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction840].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos844]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33814; + fra.me.meth = LOCATE_parser___ReduceAction840___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33814 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos844] = 1; + return; +} +void parser___ReduceAction841___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33818; + fra.me.meth = LOCATE_parser___ReduceAction841___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33830 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33830); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33832 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33832); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33834 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33834); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33836 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33836); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:33838 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33838); + nit_exit(1); + } + fra.me.REG[3] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33843 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33843); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33854 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction841___init(val_t p0, int* init_table){ + int itpos845 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction841].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos845]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33856; + fra.me.meth = LOCATE_parser___ReduceAction841___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33856 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos845] = 1; + return; +} +void parser___ReduceAction842___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33860; + fra.me.meth = LOCATE_parser___ReduceAction842___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33873 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33873); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33875 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33875); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33877 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33877); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33879 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33879); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:33881 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33881); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:33883 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33883); + nit_exit(1); + } + fra.me.REG[3] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33889 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33889); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33900 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction842___init(val_t p0, int* init_table){ + int itpos846 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction842].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos846]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33902; + fra.me.meth = LOCATE_parser___ReduceAction842___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33902 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos846] = 1; + return; +} +void parser___ReduceAction843___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33906; + fra.me.meth = LOCATE_parser___ReduceAction843___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33920 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33920); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:33922 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33922); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33924 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33924); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33926 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33926); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:33928 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33928); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:33930 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33930); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:33932 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33932); + nit_exit(1); + } + fra.me.REG[3] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33939 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33939); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33950 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction843___init(val_t p0, int* init_table){ + int itpos847 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction843].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos847]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33952; + fra.me.meth = LOCATE_parser___ReduceAction843___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33952 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos847] = 1; + return; +} +void parser___ReduceAction844___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33956; + fra.me.meth = LOCATE_parser___ReduceAction844___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:33968 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33968); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:33970 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33970); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:33972 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33972); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:33974 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33974); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:33979 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33979); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:33981 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 33981); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:33992 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction844___init(val_t p0, int* init_table){ + int itpos848 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction844].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos848]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33994; + fra.me.meth = LOCATE_parser___ReduceAction844___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:33994 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos848] = 1; + return; +} +void parser___ReduceAction845___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 33998; + fra.me.meth = LOCATE_parser___ReduceAction845___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34010 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34010); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34012 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34012); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34014 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34014); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:34016 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34016); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34021 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34021); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34023 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34023); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34034 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction845___init(val_t p0, int* init_table){ + int itpos849 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction845].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos849]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34036; + fra.me.meth = LOCATE_parser___ReduceAction845___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34036 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos849] = 1; + return; +} +void parser___ReduceAction846___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34040; + fra.me.meth = LOCATE_parser___ReduceAction846___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34052 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34052); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34054 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34054); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34056 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34056); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:34058 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34058); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34063); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34065 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34065); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34076 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction846___init(val_t p0, int* init_table){ + int itpos850 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction846].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos850]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34078; + fra.me.meth = LOCATE_parser___ReduceAction846___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34078 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos850] = 1; + return; +} +void parser___ReduceAction847___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34082; + fra.me.meth = LOCATE_parser___ReduceAction847___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34094 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34094); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34096 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34096); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34098 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34098); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:34100 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34100); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34105 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34105); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34107 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34107); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34118 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction847___init(val_t p0, int* init_table){ + int itpos851 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction847].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos851]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34120; + fra.me.meth = LOCATE_parser___ReduceAction847___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34120 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos851] = 1; + return; +} +void parser___ReduceAction848___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34124; + fra.me.meth = LOCATE_parser___ReduceAction848___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34136 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34136); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34138 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34138); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34140 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34140); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:34142 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34142); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34147 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34147); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34149 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34149); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34160 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction848___init(val_t p0, int* init_table){ + int itpos852 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction848].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos852]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34162; + fra.me.meth = LOCATE_parser___ReduceAction848___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34162 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos852] = 1; + return; +} +void parser___ReduceAction849___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34166; + fra.me.meth = LOCATE_parser___ReduceAction849___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34178 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34178); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34180 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34180); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34182 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34182); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:34184 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34184); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34189 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34189); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34191 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34191); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34202 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction849___init(val_t p0, int* init_table){ + int itpos853 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction849].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos853]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34204; + fra.me.meth = LOCATE_parser___ReduceAction849___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34204 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos853] = 1; + return; +} +void parser___ReduceAction850___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34208; + fra.me.meth = LOCATE_parser___ReduceAction850___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34220 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34220); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34222 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34222); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34224 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34224); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:34226 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34226); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34231 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34231); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34233 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34233); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34244 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction850___init(val_t p0, int* init_table){ + int itpos854 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction850].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos854]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34246; + fra.me.meth = LOCATE_parser___ReduceAction850___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34246 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos854] = 1; + return; +} +void parser___ReduceAction851___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34250; + fra.me.meth = LOCATE_parser___ReduceAction851___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34262 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34262); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34264 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34264); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34266 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34266); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:34268 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34268); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34273 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34273); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34275 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34275); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34286 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction851___init(val_t p0, int* init_table){ + int itpos855 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction851].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos855]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34288; + fra.me.meth = LOCATE_parser___ReduceAction851___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34288 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos855] = 1; + return; +} +void parser___ReduceAction852___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34292; + fra.me.meth = LOCATE_parser___ReduceAction852___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34304 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34304); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34306 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34306); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34308 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34308); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:34310 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34310); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34315 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34315); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34317 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34317); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34328 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction852___init(val_t p0, int* init_table){ + int itpos856 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction852].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos856]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34330; + fra.me.meth = LOCATE_parser___ReduceAction852___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34330 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos856] = 1; + return; +} +void parser___ReduceAction853___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34334; + fra.me.meth = LOCATE_parser___ReduceAction853___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34346 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34346); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34348 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34348); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34350 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34350); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:34352 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34352); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34357 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34357); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34359 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34359); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34370 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction853___init(val_t p0, int* init_table){ + int itpos857 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction853].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos857]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34372; + fra.me.meth = LOCATE_parser___ReduceAction853___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34372 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos857] = 1; + return; +} +void parser___ReduceAction854___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34376; + fra.me.meth = LOCATE_parser___ReduceAction854___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34388 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34388); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34390 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34390); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34392 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34392); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:34394 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34394); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34399 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34399); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34401 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34401); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34412 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction854___init(val_t p0, int* init_table){ + int itpos858 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction854].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos858]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34414; + fra.me.meth = LOCATE_parser___ReduceAction854___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34414 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos858] = 1; + return; +} +void parser___ReduceAction855___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34418; + fra.me.meth = LOCATE_parser___ReduceAction855___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34430 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34430); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34432 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34432); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34434 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34434); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:34436 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34436); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34441 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34441); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34443 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34443); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34454 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction855___init(val_t p0, int* init_table){ + int itpos859 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction855].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos859]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34456; + fra.me.meth = LOCATE_parser___ReduceAction855___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34456 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos859] = 1; + return; +} +void parser___ReduceAction856___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34460; + fra.me.meth = LOCATE_parser___ReduceAction856___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34473); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34475); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34477 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34477); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:34479 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34479); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:34481 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34481); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34487 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34487); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34489 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34489); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34500 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction856___init(val_t p0, int* init_table){ + int itpos860 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction856].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos860]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34502; + fra.me.meth = LOCATE_parser___ReduceAction856___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34502 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos860] = 1; + return; +} +void parser___ReduceAction857___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34506; + fra.me.meth = LOCATE_parser___ReduceAction857___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34518 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34518); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34520 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34520); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34522 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34522); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:34524 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34524); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34529 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34529); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34531 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34531); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34542 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction857___init(val_t p0, int* init_table){ + int itpos861 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction857].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos861]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34544; + fra.me.meth = LOCATE_parser___ReduceAction857___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34544 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos861] = 1; + return; +} +void parser___ReduceAction858___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34548; + fra.me.meth = LOCATE_parser___ReduceAction858___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34561 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34561); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34563 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34563); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34565 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34565); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:34567 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34567); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:34569 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34569); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34575 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34575); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34577 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34577); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34588 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction858___init(val_t p0, int* init_table){ + int itpos862 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction858].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos862]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34590; + fra.me.meth = LOCATE_parser___ReduceAction858___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34590 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos862] = 1; + return; +} +void parser___ReduceAction859___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34594; + fra.me.meth = LOCATE_parser___ReduceAction859___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34608 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34608); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34610 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34610); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34612 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34612); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:34614 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34614); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:34616 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34616); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:34618 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34618); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34625 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34625); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34627 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34627); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34638 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction859___init(val_t p0, int* init_table){ + int itpos863 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction859].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos863]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34640; + fra.me.meth = LOCATE_parser___ReduceAction859___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34640 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos863] = 1; + return; +} +void parser___ReduceAction860___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34644; + fra.me.meth = LOCATE_parser___ReduceAction860___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34657 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34657); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:34659 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34659); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34661 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34661); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34663 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34663); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:34665 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34665); + nit_exit(1); + } + fra.me.REG[4] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34670 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34670); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34672 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34672); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34683 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction860___init(val_t p0, int* init_table){ + int itpos864 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction860].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos864]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34685; + fra.me.meth = LOCATE_parser___ReduceAction860___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34685 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos864] = 1; + return; +} +void parser___ReduceAction861___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34689; + fra.me.meth = LOCATE_parser___ReduceAction861___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34702 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34702); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:34704 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34704); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34706 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34706); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34708 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34708); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPlus, ID_TPlus)) /*cast nullable TPlus*/; + /* ./parser//parser.nit:34710 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34710); + nit_exit(1); + } + fra.me.REG[4] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34715 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34715); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34717 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34717); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34728 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction861___init(val_t p0, int* init_table){ + int itpos865 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction861].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos865]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34730; + fra.me.meth = LOCATE_parser___ReduceAction861___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34730 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos865] = 1; + return; +} +void parser___ReduceAction862___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34734; + fra.me.meth = LOCATE_parser___ReduceAction862___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34747 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34747); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:34749 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34749); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34751 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34751); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34753 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34753); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:34755 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34755); + nit_exit(1); + } + fra.me.REG[4] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34760 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34760); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34762 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34762); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34773 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction862___init(val_t p0, int* init_table){ + int itpos866 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction862].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos866]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34775; + fra.me.meth = LOCATE_parser___ReduceAction862___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34775 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos866] = 1; + return; +} +void parser___ReduceAction863___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34779; + fra.me.meth = LOCATE_parser___ReduceAction863___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34792 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34792); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:34794 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34794); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34796 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34796); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34798 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34798); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStar, ID_TStar)) /*cast nullable TStar*/; + /* ./parser//parser.nit:34800 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34800); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34805 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34805); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34807 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34807); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34818 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction863___init(val_t p0, int* init_table){ + int itpos867 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction863].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos867]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34820; + fra.me.meth = LOCATE_parser___ReduceAction863___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34820 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos867] = 1; + return; +} +void parser___ReduceAction864___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34824; + fra.me.meth = LOCATE_parser___ReduceAction864___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34837 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34837); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:34839 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34839); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34841 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34841); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34843 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34843); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TSlash, ID_TSlash)) /*cast nullable TSlash*/; + /* ./parser//parser.nit:34845 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34845); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34850 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34850); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34852 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34852); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34863 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction864___init(val_t p0, int* init_table){ + int itpos868 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction864].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos868]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34865; + fra.me.meth = LOCATE_parser___ReduceAction864___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34865 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos868] = 1; + return; +} +void parser___ReduceAction865___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34869; + fra.me.meth = LOCATE_parser___ReduceAction865___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34882 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34882); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:34884 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34884); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34886 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34886); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34888 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34888); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TPercent, ID_TPercent)) /*cast nullable TPercent*/; + /* ./parser//parser.nit:34890 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34890); + nit_exit(1); + } + fra.me.REG[4] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34895 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34895); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34897 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34897); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34908 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction865___init(val_t p0, int* init_table){ + int itpos869 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction865].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos869]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34910; + fra.me.meth = LOCATE_parser___ReduceAction865___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34910 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos869] = 1; + return; +} +void parser___ReduceAction866___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34914; + fra.me.meth = LOCATE_parser___ReduceAction866___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34927 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34927); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:34929 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34929); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34931 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34931); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34933 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34933); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TEq, ID_TEq)) /*cast nullable TEq*/; + /* ./parser//parser.nit:34935 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34935); + nit_exit(1); + } + fra.me.REG[4] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34940 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34940); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34942 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34942); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34953 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction866___init(val_t p0, int* init_table){ + int itpos870 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction866].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos870]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34955; + fra.me.meth = LOCATE_parser___ReduceAction866___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:34955 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos870] = 1; + return; +} +void parser___ReduceAction867___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 34959; + fra.me.meth = LOCATE_parser___ReduceAction867___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:34972 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34972); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:34974 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34974); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:34976 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34976); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:34978 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34978); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TNe, ID_TNe)) /*cast nullable TNe*/; + /* ./parser//parser.nit:34980 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34980); + nit_exit(1); + } + fra.me.REG[4] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:34985 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34985); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:34987 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 34987); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:34998 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction867___init(val_t p0, int* init_table){ + int itpos871 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction867].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos871]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35000; + fra.me.meth = LOCATE_parser___ReduceAction867___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35000 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos871] = 1; + return; +} +void parser___ReduceAction868___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35004; + fra.me.meth = LOCATE_parser___ReduceAction868___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:35017 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35017); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:35019 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35019); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:35021 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35021); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:35023 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35023); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLe, ID_TLe)) /*cast nullable TLe*/; + /* ./parser//parser.nit:35025 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35025); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:35030 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35030); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:35032 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35032); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35043 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction868___init(val_t p0, int* init_table){ + int itpos872 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction868].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos872]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35045; + fra.me.meth = LOCATE_parser___ReduceAction868___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35045 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos872] = 1; + return; +} +void parser___ReduceAction869___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35049; + fra.me.meth = LOCATE_parser___ReduceAction869___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:35062 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35062); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:35064 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35064); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:35066 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35066); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:35068 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35068); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGe, ID_TGe)) /*cast nullable TGe*/; + /* ./parser//parser.nit:35070 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35070); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:35075 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35075); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:35077 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35077); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35088 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction869___init(val_t p0, int* init_table){ + int itpos873 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction869].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos873]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35090; + fra.me.meth = LOCATE_parser___ReduceAction869___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35090 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos873] = 1; + return; +} +void parser___ReduceAction870___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35094; + fra.me.meth = LOCATE_parser___ReduceAction870___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:35107 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35107); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:35109 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35109); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:35111 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35111); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:35113 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35113); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TLt, ID_TLt)) /*cast nullable TLt*/; + /* ./parser//parser.nit:35115 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35115); + nit_exit(1); + } + fra.me.REG[4] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:35120 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35120); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:35122 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35122); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35133 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction870___init(val_t p0, int* init_table){ + int itpos874 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction870].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos874]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35135; + fra.me.meth = LOCATE_parser___ReduceAction870___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35135 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos874] = 1; + return; +} +void parser___ReduceAction871___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35139; + fra.me.meth = LOCATE_parser___ReduceAction871___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:35152 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35152); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:35154 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35154); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:35156 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35156); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:35158 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35158); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TGt, ID_TGt)) /*cast nullable TGt*/; + /* ./parser//parser.nit:35160 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35160); + nit_exit(1); + } + fra.me.REG[4] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:35165 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35165); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:35167 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35167); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35178 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction871___init(val_t p0, int* init_table){ + int itpos875 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction871].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos875]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35180; + fra.me.meth = LOCATE_parser___ReduceAction871___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35180 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos875] = 1; + return; +} +void parser___ReduceAction872___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35184; + fra.me.meth = LOCATE_parser___ReduceAction872___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:35198 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35198); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:35200 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35200); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:35202 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35202); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:35204 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35204); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:35206 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35206); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:35208 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35208); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:35214 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35214); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:35216 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35216); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35227 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction872___init(val_t p0, int* init_table){ + int itpos876 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction872].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos876]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35229; + fra.me.meth = LOCATE_parser___ReduceAction872___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35229 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos876] = 1; + return; +} +void parser___ReduceAction873___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35233; + fra.me.meth = LOCATE_parser___ReduceAction873___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:35246 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35246); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:35248 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35248); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:35250 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35250); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:35252 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35252); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TStarship, ID_TStarship)) /*cast nullable TStarship*/; + /* ./parser//parser.nit:35254 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35254); + nit_exit(1); + } + fra.me.REG[4] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:35259 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35259); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:35261 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35261); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35272 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction873___init(val_t p0, int* init_table){ + int itpos877 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction873].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos877]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35274; + fra.me.meth = LOCATE_parser___ReduceAction873___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35274 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos877] = 1; + return; +} +void parser___ReduceAction874___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35278; + fra.me.meth = LOCATE_parser___ReduceAction874___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:35292 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35292); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:35294 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35294); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:35296 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35296); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:35298 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35298); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:35300 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35300); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:35302 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35302); + nit_exit(1); + } + fra.me.REG[4] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:35308 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35308); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:35310 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35310); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35321 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction874___init(val_t p0, int* init_table){ + int itpos878 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction874].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos878]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35323; + fra.me.meth = LOCATE_parser___ReduceAction874___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35323 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos878] = 1; + return; +} +void parser___ReduceAction875___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[10];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35327; + fra.me.meth = LOCATE_parser___ReduceAction875___action; + fra.me.has_broke = 0; + fra.me.REG_size = 11; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[10] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_ADoc, ID_ADoc)) /*cast nullable ADoc*/; + /* ./parser//parser.nit:35342 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35342); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_TKwredef, ID_TKwredef)) /*cast nullable TKwredef*/; + /* ./parser//parser.nit:35344 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35344); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_AVisibility, ID_AVisibility)) /*cast nullable AVisibility*/; + /* ./parser//parser.nit:35346 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35346); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwmeth, ID_TKwmeth)) /*cast nullable TKwmeth*/; + /* ./parser//parser.nit:35348 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35348); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TObra, ID_TObra)) /*cast nullable TObra*/; + /* ./parser//parser.nit:35350 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35350); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TCbra, ID_TCbra)) /*cast nullable TCbra*/; + /* ./parser//parser.nit:35352 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35352); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:35354 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35354); + nit_exit(1); + } + fra.me.REG[4] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ASignature, ID_ASignature)) /*cast nullable ASignature*/; + /* ./parser//parser.nit:35361 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35361); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:35363 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35363); + nit_exit(1); + } + fra.me.REG[2] = NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(76); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35374 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction875___init(val_t p0, int* init_table){ + int itpos879 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction875].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos879]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35376; + fra.me.meth = LOCATE_parser___ReduceAction875___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35376 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos879] = 1; + return; +} +void parser___ReduceAction876___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35380; + fra.me.meth = LOCATE_parser___ReduceAction876___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:35388 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35388); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:35390 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35390); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:35392 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:35393 */ + } else { + /* ./parser//parser.nit:35395 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(77); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35404 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction876___init(val_t p0, int* init_table){ + int itpos880 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction876].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos880]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35406; + fra.me.meth = LOCATE_parser___ReduceAction876___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35406 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos880] = 1; + return; +} +void parser___ReduceAction877___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35410; + fra.me.meth = LOCATE_parser___ReduceAction877___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:35419 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35419); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:35421 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[4]; + /* ./parser//parser.nit:35422 */ + } else { + /* ./parser//parser.nit:35424 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:35428 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35428); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:35430 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35430); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:35432 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:35433 */ + } else { + /* ./parser//parser.nit:35435 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(77); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35444 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction877___init(val_t p0, int* init_table){ + int itpos881 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction877].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos881]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35446; + fra.me.meth = LOCATE_parser___ReduceAction877___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35446 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos881] = 1; + return; +} +void parser___ReduceAction878___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35450; + fra.me.meth = LOCATE_parser___ReduceAction878___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:35458 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35458); + nit_exit(1); + } + fra.me.REG[4] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(77); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35465 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction878___init(val_t p0, int* init_table){ + int itpos882 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction878].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos882]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35467; + fra.me.meth = LOCATE_parser___ReduceAction878___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35467 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos882] = 1; + return; +} +void parser___ReduceAction879___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35471; + fra.me.meth = LOCATE_parser___ReduceAction879___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:35480 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35480); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:35482 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:35483 */ + } else { + /* ./parser//parser.nit:35485 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:35489 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35489); + nit_exit(1); + } + fra.me.REG[5] = NEW_ASignature_parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[2], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(77); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35496 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction879___init(val_t p0, int* init_table){ + int itpos883 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction879].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos883]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35498; + fra.me.meth = LOCATE_parser___ReduceAction879___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35498 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos883] = 1; + return; +} +void parser___ReduceAction880___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35502; + fra.me.meth = LOCATE_parser___ReduceAction880___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:35508 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35508); + nit_exit(1); + } + fra.me.REG[3] = NEW_AType_parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[2], fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(78); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35515 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction880___init(val_t p0, int* init_table){ + int itpos884 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction880].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos884]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35517; + fra.me.meth = LOCATE_parser___ReduceAction880___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35517 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos884] = 1; + return; +} +void parser___ReduceAction881___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35521; + fra.me.meth = LOCATE_parser___ReduceAction881___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnullable, ID_TKwnullable)) /*cast nullable TKwnullable*/; + /* ./parser//parser.nit:35528 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35528); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast nullable TClassid*/; + /* ./parser//parser.nit:35530 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35530); + nit_exit(1); + } + fra.me.REG[4] = NEW_AType_parser_prod___AType___init_atype(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(78); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35537 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction881___init(val_t p0, int* init_table){ + int itpos885 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction881].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos885]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35539; + fra.me.meth = LOCATE_parser___ReduceAction881___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35539 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos885] = 1; + return; +} +void parser___ReduceAction882___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35543; + fra.me.meth = LOCATE_parser___ReduceAction882___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35548 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35548); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(79); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35550 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction882___init(val_t p0, int* init_table){ + int itpos886 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction882].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos886]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35552; + fra.me.meth = LOCATE_parser___ReduceAction882___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35552 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos886] = 1; + return; +} +void parser___ReduceAction883___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35556; + fra.me.meth = LOCATE_parser___ReduceAction883___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35568); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:35570 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35570); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:35572 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35572); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:35574 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:35575 */ + } else { + /* ./parser//parser.nit:35577 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:35581 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35581); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:35583 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:35584 */ + } else { + /* ./parser//parser.nit:35586 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(79); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35596 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction883___init(val_t p0, int* init_table){ + int itpos887 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction883].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos887]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35598; + fra.me.meth = LOCATE_parser___ReduceAction883___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35598 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos887] = 1; + return; +} +void parser___ReduceAction884___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35602; + fra.me.meth = LOCATE_parser___ReduceAction884___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:35613 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35613); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:35615 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35615); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:35617 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:35618 */ + } else { + /* ./parser//parser.nit:35620 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:35624 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35624); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:35626 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:35627 */ + } else { + /* ./parser//parser.nit:35629 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(79); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35639 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction884___init(val_t p0, int* init_table){ + int itpos888 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction884].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos888]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35641; + fra.me.meth = LOCATE_parser___ReduceAction884___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35641 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos888] = 1; + return; +} +void parser___ReduceAction885___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35645; + fra.me.meth = LOCATE_parser___ReduceAction885___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35650 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35650); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(80); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35652 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction885___init(val_t p0, int* init_table){ + int itpos889 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction885].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos889]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35654; + fra.me.meth = LOCATE_parser___ReduceAction885___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35654 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos889] = 1; + return; +} +void parser___ReduceAction886___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35658; + fra.me.meth = LOCATE_parser___ReduceAction886___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:35673 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35673); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35675 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35675); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwthen, ID_TKwthen)) /*cast nullable TKwthen*/; + /* ./parser//parser.nit:35677 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35677); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35679 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35679); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwelse, ID_TKwelse)) /*cast nullable TKwelse*/; + /* ./parser//parser.nit:35681 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35681); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35683 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35683); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(80); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35693 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction886___init(val_t p0, int* init_table){ + int itpos890 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction886].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos890]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35695; + fra.me.meth = LOCATE_parser___ReduceAction886___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35695 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos890] = 1; + return; +} +void parser___ReduceAction887___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35699; + fra.me.meth = LOCATE_parser___ReduceAction887___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35704 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35704); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(81); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35706 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction887___init(val_t p0, int* init_table){ + int itpos891 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction887].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos891]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35708; + fra.me.meth = LOCATE_parser___ReduceAction887___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35708 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos891] = 1; + return; +} +void parser___ReduceAction888___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35712; + fra.me.meth = LOCATE_parser___ReduceAction888___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35720 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35720); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35722 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35722); + nit_exit(1); + } + fra.me.REG[2] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(81); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35728 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction888___init(val_t p0, int* init_table){ + int itpos892 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction888].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos892]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35730; + fra.me.meth = LOCATE_parser___ReduceAction888___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35730 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos892] = 1; + return; +} +void parser___ReduceAction889___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35734; + fra.me.meth = LOCATE_parser___ReduceAction889___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35742 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35742); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35744 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35744); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(81); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35750 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction889___init(val_t p0, int* init_table){ + int itpos893 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction889].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos893]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35752; + fra.me.meth = LOCATE_parser___ReduceAction889___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35752 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos893] = 1; + return; +} +void parser___ReduceAction890___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35756; + fra.me.meth = LOCATE_parser___ReduceAction890___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35761 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35761); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(82); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35763 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction890___init(val_t p0, int* init_table){ + int itpos894 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction890].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos894]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35765; + fra.me.meth = LOCATE_parser___ReduceAction890___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35765 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos894] = 1; + return; +} +void parser___ReduceAction891___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35769; + fra.me.meth = LOCATE_parser___ReduceAction891___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/; + /* ./parser//parser.nit:35776 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35776); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35778 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35778); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(82); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35784 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction891___init(val_t p0, int* init_table){ + int itpos895 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction891].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos895]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35786; + fra.me.meth = LOCATE_parser___ReduceAction891___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35786 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos895] = 1; + return; +} +void parser___ReduceAction892___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35790; + fra.me.meth = LOCATE_parser___ReduceAction892___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35795 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35795); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(83); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35797 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction892___init(val_t p0, int* init_table){ + int itpos896 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction892].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos896]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35799; + fra.me.meth = LOCATE_parser___ReduceAction892___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35799 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos896] = 1; + return; +} +void parser___ReduceAction893___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35803; + fra.me.meth = LOCATE_parser___ReduceAction893___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35811 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35811); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35813 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35813); + nit_exit(1); + } + fra.me.REG[2] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(83); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35819 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction893___init(val_t p0, int* init_table){ + int itpos897 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction893].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos897]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35821; + fra.me.meth = LOCATE_parser___ReduceAction893___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35821 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos897] = 1; + return; +} +void parser___ReduceAction894___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35825; + fra.me.meth = LOCATE_parser___ReduceAction894___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35833 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35833); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35835 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35835); + nit_exit(1); + } + fra.me.REG[2] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(83); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35841 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction894___init(val_t p0, int* init_table){ + int itpos898 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction894].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos898]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35843; + fra.me.meth = LOCATE_parser___ReduceAction894___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35843 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos898] = 1; + return; +} +void parser___ReduceAction895___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35847; + fra.me.meth = LOCATE_parser___ReduceAction895___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35855 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35855); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35857 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35857); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(83); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35863 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction895___init(val_t p0, int* init_table){ + int itpos899 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction895].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos899]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35865; + fra.me.meth = LOCATE_parser___ReduceAction895___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35865 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos899] = 1; + return; +} +void parser___ReduceAction896___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35869; + fra.me.meth = LOCATE_parser___ReduceAction896___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35877 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35877); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35879 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35879); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(83); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35885 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction896___init(val_t p0, int* init_table){ + int itpos900 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction896].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos900]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35887; + fra.me.meth = LOCATE_parser___ReduceAction896___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35887 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos900] = 1; + return; +} +void parser___ReduceAction897___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35891; + fra.me.meth = LOCATE_parser___ReduceAction897___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35899 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35899); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35901 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35901); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(83); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35907 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction897___init(val_t p0, int* init_table){ + int itpos901 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction897].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos901]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35909; + fra.me.meth = LOCATE_parser___ReduceAction897___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35909 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos901] = 1; + return; +} +void parser___ReduceAction898___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35913; + fra.me.meth = LOCATE_parser___ReduceAction898___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35921 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35921); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35923 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35923); + nit_exit(1); + } + fra.me.REG[2] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(83); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35929 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction898___init(val_t p0, int* init_table){ + int itpos902 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction898].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos902]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35931; + fra.me.meth = LOCATE_parser___ReduceAction898___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35931 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos902] = 1; + return; +} +void parser___ReduceAction899___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35935; + fra.me.meth = LOCATE_parser___ReduceAction899___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35943 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35943); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35945 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35945); + nit_exit(1); + } + fra.me.REG[2] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(83); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35951 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction899___init(val_t p0, int* init_table){ + int itpos903 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction899].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos903]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35953; + fra.me.meth = LOCATE_parser___ReduceAction899___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35953 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos903] = 1; + return; +} +void parser___ReduceAction900___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35957; + fra.me.meth = LOCATE_parser___ReduceAction900___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35965 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35965); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35967 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35967); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(83); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35973 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction900___init(val_t p0, int* init_table){ + int itpos904 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction900].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos904]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35975; + fra.me.meth = LOCATE_parser___ReduceAction900___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35975 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos904] = 1; + return; +} +void parser___ReduceAction901___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35979; + fra.me.meth = LOCATE_parser___ReduceAction901___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:35987 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35987); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:35989 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 35989); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(83); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:35995 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction901___init(val_t p0, int* init_table){ + int itpos905 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction901].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos905]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 35997; + fra.me.meth = LOCATE_parser___ReduceAction901___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:35997 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos905] = 1; + return; +} +void parser___ReduceAction902___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36001; + fra.me.meth = LOCATE_parser___ReduceAction902___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36006 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36006); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(84); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36008 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction902___init(val_t p0, int* init_table){ + int itpos906 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction902].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos906]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36010; + fra.me.meth = LOCATE_parser___ReduceAction902___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36010 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos906] = 1; + return; +} +void parser___ReduceAction903___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36014; + fra.me.meth = LOCATE_parser___ReduceAction903___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36022 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36022); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36024 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36024); + nit_exit(1); + } + fra.me.REG[2] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(84); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36030 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction903___init(val_t p0, int* init_table){ + int itpos907 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction903].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos907]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36032; + fra.me.meth = LOCATE_parser___ReduceAction903___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36032 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos907] = 1; + return; +} +void parser___ReduceAction904___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36036; + fra.me.meth = LOCATE_parser___ReduceAction904___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36044 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36044); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36046 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36046); + nit_exit(1); + } + fra.me.REG[2] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(84); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36052 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction904___init(val_t p0, int* init_table){ + int itpos908 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction904].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos908]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36054; + fra.me.meth = LOCATE_parser___ReduceAction904___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36054 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos908] = 1; + return; +} +void parser___ReduceAction905___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36058; + fra.me.meth = LOCATE_parser___ReduceAction905___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36063); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(85); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36065 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction905___init(val_t p0, int* init_table){ + int itpos909 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction905].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos909]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36067; + fra.me.meth = LOCATE_parser___ReduceAction905___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36067 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos909] = 1; + return; +} +void parser___ReduceAction906___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36071; + fra.me.meth = LOCATE_parser___ReduceAction906___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36079 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36079); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36081 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36081); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(85); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36087 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction906___init(val_t p0, int* init_table){ + int itpos910 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction906].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos910]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36089; + fra.me.meth = LOCATE_parser___ReduceAction906___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36089 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos910] = 1; + return; +} +void parser___ReduceAction907___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36093; + fra.me.meth = LOCATE_parser___ReduceAction907___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36101 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36101); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36103 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36103); + nit_exit(1); + } + fra.me.REG[2] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(85); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36109 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction907___init(val_t p0, int* init_table){ + int itpos911 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction907].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos911]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36111; + fra.me.meth = LOCATE_parser___ReduceAction907___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36111 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos911] = 1; + return; +} +void parser___ReduceAction908___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36115; + fra.me.meth = LOCATE_parser___ReduceAction908___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36123 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36123); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36125 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36125); + nit_exit(1); + } + fra.me.REG[2] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(85); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36131 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction908___init(val_t p0, int* init_table){ + int itpos912 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction908].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos912]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36133; + fra.me.meth = LOCATE_parser___ReduceAction908___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36133 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos912] = 1; + return; +} +void parser___ReduceAction909___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36137; + fra.me.meth = LOCATE_parser___ReduceAction909___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36142 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36142); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(86); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36144 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction909___init(val_t p0, int* init_table){ + int itpos913 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction909].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos913]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36146; + fra.me.meth = LOCATE_parser___ReduceAction909___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36146 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos913] = 1; + return; +} +void parser___ReduceAction910___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36150; + fra.me.meth = LOCATE_parser___ReduceAction910___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:36157 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36157); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36159 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36159); + nit_exit(1); + } + fra.me.REG[2] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(86); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36165 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction910___init(val_t p0, int* init_table){ + int itpos914 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction910].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos914]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36167; + fra.me.meth = LOCATE_parser___ReduceAction910___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36167 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos914] = 1; + return; +} +void parser___ReduceAction911___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36171; + fra.me.meth = LOCATE_parser___ReduceAction911___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwonce, ID_TKwonce)) /*cast nullable TKwonce*/; + /* ./parser//parser.nit:36178 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36178); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36180 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36180); + nit_exit(1); + } + fra.me.REG[2] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(86); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36186 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction911___init(val_t p0, int* init_table){ + int itpos915 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction911].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos915]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36188; + fra.me.meth = LOCATE_parser___ReduceAction911___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36188 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos915] = 1; + return; +} +void parser___ReduceAction912___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36192; + fra.me.meth = LOCATE_parser___ReduceAction912___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36197 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36197); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(87); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36199 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction912___init(val_t p0, int* init_table){ + int itpos916 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction912].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos916]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36201; + fra.me.meth = LOCATE_parser___ReduceAction912___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36201 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos916] = 1; + return; +} +void parser___ReduceAction913___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36205; + fra.me.meth = LOCATE_parser___ReduceAction913___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/; + /* ./parser//parser.nit:36214 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36214); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:36216 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36216); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:36218 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36218); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:36220 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:36221 */ + } else { + /* ./parser//parser.nit:36223 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(87); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36233 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction913___init(val_t p0, int* init_table){ + int itpos917 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction913].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos917]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36235; + fra.me.meth = LOCATE_parser___ReduceAction913___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36235 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos917] = 1; + return; +} +void parser___ReduceAction914___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36239; + fra.me.meth = LOCATE_parser___ReduceAction914___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/; + /* ./parser//parser.nit:36248 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36248); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36250 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36250); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:36252 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36252); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(87); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36259 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction914___init(val_t p0, int* init_table){ + int itpos918 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction914].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos918]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36261; + fra.me.meth = LOCATE_parser___ReduceAction914___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36261 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos918] = 1; + return; +} +void parser___ReduceAction915___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36265; + fra.me.meth = LOCATE_parser___ReduceAction915___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/; + /* ./parser//parser.nit:36271 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36271); + nit_exit(1); + } + fra.me.REG[4] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:36275 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36275); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(87); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36282 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction915___init(val_t p0, int* init_table){ + int itpos919 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction915].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos919]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36284; + fra.me.meth = LOCATE_parser___ReduceAction915___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36284 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos919] = 1; + return; +} +void parser___ReduceAction916___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36288; + fra.me.meth = LOCATE_parser___ReduceAction916___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36296 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36296); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:36298 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36298); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36304 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction916___init(val_t p0, int* init_table){ + int itpos920 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction916].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos920]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36306; + fra.me.meth = LOCATE_parser___ReduceAction916___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36306 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos920] = 1; + return; +} +void parser___ReduceAction917___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36310; + fra.me.meth = LOCATE_parser___ReduceAction917___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:36317 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36317); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36323 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction917___init(val_t p0, int* init_table){ + int itpos921 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction917].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos921]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36325; + fra.me.meth = LOCATE_parser___ReduceAction917___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36325 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos921] = 1; + return; +} +void parser___ReduceAction918___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36329; + fra.me.meth = LOCATE_parser___ReduceAction918___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36340 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36340); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:36342 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36342); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:36344 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36344); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:36346 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:36347 */ + } else { + /* ./parser//parser.nit:36349 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36359 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction918___init(val_t p0, int* init_table){ + int itpos922 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction918].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos922]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36361; + fra.me.meth = LOCATE_parser___ReduceAction918___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36361 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos922] = 1; + return; +} +void parser___ReduceAction919___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36365; + fra.me.meth = LOCATE_parser___ReduceAction919___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:36375 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36375); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:36377 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36377); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:36379 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:36380 */ + } else { + /* ./parser//parser.nit:36382 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36392 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction919___init(val_t p0, int* init_table){ + int itpos923 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction919].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos923]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36394; + fra.me.meth = LOCATE_parser___ReduceAction919___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36394 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos923] = 1; + return; +} +void parser___ReduceAction920___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36398; + fra.me.meth = LOCATE_parser___ReduceAction920___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:36405 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36405); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:36407 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36407); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:36409 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:36410 */ + } else { + /* ./parser//parser.nit:36412 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36421 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction920___init(val_t p0, int* init_table){ + int itpos924 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction920].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos924]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36423; + fra.me.meth = LOCATE_parser___ReduceAction920___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36423 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos924] = 1; + return; +} +void parser___ReduceAction921___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36427; + fra.me.meth = LOCATE_parser___ReduceAction921___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/; + /* ./parser//parser.nit:36435 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36435); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:36437 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36437); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:36439 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36439); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:36441 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:36442 */ + } else { + /* ./parser//parser.nit:36444 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36453 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction921___init(val_t p0, int* init_table){ + int itpos925 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction921].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos925]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36455; + fra.me.meth = LOCATE_parser___ReduceAction921___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36455 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos925] = 1; + return; +} +void parser___ReduceAction922___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36459; + fra.me.meth = LOCATE_parser___ReduceAction922___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36469 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36469); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:36471 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36471); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:36473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36473); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:36475 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:36476 */ + } else { + /* ./parser//parser.nit:36478 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36487 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction922___init(val_t p0, int* init_table){ + int itpos926 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction922].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos926]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36489; + fra.me.meth = LOCATE_parser___ReduceAction922___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36489 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos926] = 1; + return; +} +void parser___ReduceAction923___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36493; + fra.me.meth = LOCATE_parser___ReduceAction923___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:36502 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36502); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:36504 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36504); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:36506 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:36507 */ + } else { + /* ./parser//parser.nit:36509 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36518 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction923___init(val_t p0, int* init_table){ + int itpos927 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction923].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos927]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36520; + fra.me.meth = LOCATE_parser___ReduceAction923___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36520 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos927] = 1; + return; +} +void parser___ReduceAction924___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36524; + fra.me.meth = LOCATE_parser___ReduceAction924___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/; + /* ./parser//parser.nit:36536 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36536); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:36538 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36538); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:36540 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36540); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:36542 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36542); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:36544 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:36545 */ + } else { + /* ./parser//parser.nit:36547 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36557 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction924___init(val_t p0, int* init_table){ + int itpos928 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction924].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos928]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36559; + fra.me.meth = LOCATE_parser___ReduceAction924___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36559 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos928] = 1; + return; +} +void parser___ReduceAction925___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36563; + fra.me.meth = LOCATE_parser___ReduceAction925___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwself, ID_TKwself)) /*cast nullable TKwself*/; + /* ./parser//parser.nit:36568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36568); + nit_exit(1); + } + fra.me.REG[2] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36573 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction925___init(val_t p0, int* init_table){ + int itpos929 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction925].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos929]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36575; + fra.me.meth = LOCATE_parser___ReduceAction925___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36575 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos929] = 1; + return; +} +void parser___ReduceAction926___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36579; + fra.me.meth = LOCATE_parser___ReduceAction926___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwtrue, ID_TKwtrue)) /*cast nullable TKwtrue*/; + /* ./parser//parser.nit:36584 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36584); + nit_exit(1); + } + fra.me.REG[2] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36589 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction926___init(val_t p0, int* init_table){ + int itpos930 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction926].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos930]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36591; + fra.me.meth = LOCATE_parser___ReduceAction926___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36591 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos930] = 1; + return; +} +void parser___ReduceAction927___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36595; + fra.me.meth = LOCATE_parser___ReduceAction927___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwfalse, ID_TKwfalse)) /*cast nullable TKwfalse*/; + /* ./parser//parser.nit:36600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36600); + nit_exit(1); + } + fra.me.REG[2] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36605 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction927___init(val_t p0, int* init_table){ + int itpos931 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction927].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos931]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36607; + fra.me.meth = LOCATE_parser___ReduceAction927___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36607 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos931] = 1; + return; +} +void parser___ReduceAction928___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36611; + fra.me.meth = LOCATE_parser___ReduceAction928___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/; + /* ./parser//parser.nit:36616 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36616); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36621 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction928___init(val_t p0, int* init_table){ + int itpos932 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction928].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos932]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36623; + fra.me.meth = LOCATE_parser___ReduceAction928___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36623 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos932] = 1; + return; +} +void parser___ReduceAction929___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36627; + fra.me.meth = LOCATE_parser___ReduceAction929___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TNumber, ID_TNumber)) /*cast nullable TNumber*/; + /* ./parser//parser.nit:36632 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36632); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36637 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction929___init(val_t p0, int* init_table){ + int itpos933 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction929].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos933]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36639; + fra.me.meth = LOCATE_parser___ReduceAction929___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36639 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos933] = 1; + return; +} +void parser___ReduceAction930___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36643; + fra.me.meth = LOCATE_parser___ReduceAction930___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TFloat, ID_TFloat)) /*cast nullable TFloat*/; + /* ./parser//parser.nit:36648 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36648); + nit_exit(1); + } + fra.me.REG[2] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36653 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction930___init(val_t p0, int* init_table){ + int itpos934 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction930].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos934]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36655; + fra.me.meth = LOCATE_parser___ReduceAction930___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36655 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos934] = 1; + return; +} +void parser___ReduceAction931___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36659; + fra.me.meth = LOCATE_parser___ReduceAction931___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TChar, ID_TChar)) /*cast nullable TChar*/; + /* ./parser//parser.nit:36664 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36664); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36669 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction931___init(val_t p0, int* init_table){ + int itpos935 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction931].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos935]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36671; + fra.me.meth = LOCATE_parser___ReduceAction931___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36671 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos935] = 1; + return; +} +void parser___ReduceAction932___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36675; + fra.me.meth = LOCATE_parser___ReduceAction932___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:36680 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36680); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36685 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction932___init(val_t p0, int* init_table){ + int itpos936 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction932].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos936]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36687; + fra.me.meth = LOCATE_parser___ReduceAction932___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36687 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos936] = 1; + return; +} +void parser___ReduceAction933___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36691; + fra.me.meth = LOCATE_parser___ReduceAction933___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36696 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36696); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36698 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction933___init(val_t p0, int* init_table){ + int itpos937 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction933].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos937]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36700; + fra.me.meth = LOCATE_parser___ReduceAction933___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36700 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos937] = 1; + return; +} +void parser___ReduceAction934___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36704; + fra.me.meth = LOCATE_parser___ReduceAction934___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36711 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36711); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36713 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction934___init(val_t p0, int* init_table){ + int itpos938 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction934].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos938]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36715; + fra.me.meth = LOCATE_parser___ReduceAction934___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36715 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos938] = 1; + return; +} +void parser___ReduceAction935___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36719; + fra.me.meth = LOCATE_parser___ReduceAction935___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36733 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36733); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/; + /* ./parser//parser.nit:36735 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36735); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:36737 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36737); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36744 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction935___init(val_t p0, int* init_table){ + int itpos939 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction935].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos939]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36746; + fra.me.meth = LOCATE_parser___ReduceAction935___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36746 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos939] = 1; + return; +} +void parser___ReduceAction936___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36750; + fra.me.meth = LOCATE_parser___ReduceAction936___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36766 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36766); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/; + /* ./parser//parser.nit:36768 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36768); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/; + /* ./parser//parser.nit:36770 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36770); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/; + /* ./parser//parser.nit:36772 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36772); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(88); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36780 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction936___init(val_t p0, int* init_table){ + int itpos940 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction936].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos940]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36782; + fra.me.meth = LOCATE_parser___ReduceAction936___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36782 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos940] = 1; + return; +} +void parser___ReduceAction937___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36786; + fra.me.meth = LOCATE_parser___ReduceAction937___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36795 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36795); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:36796 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:36797 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(89); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36803 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction937___init(val_t p0, int* init_table){ + int itpos941 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction937].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos941]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36805; + fra.me.meth = LOCATE_parser___ReduceAction937___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36805 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos941] = 1; + return; +} +void parser___ReduceAction938___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36809; + fra.me.meth = LOCATE_parser___ReduceAction938___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36819 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36819); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:36821 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36821); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:36822 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:36823 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:36826 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:36827 */ + } else { + /* ./parser//parser.nit:36829 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(89); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36836 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction938___init(val_t p0, int* init_table){ + int itpos942 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction938].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos942]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36838; + fra.me.meth = LOCATE_parser___ReduceAction938___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36838 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos942] = 1; + return; +} +void parser___ReduceAction939___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36842; + fra.me.meth = LOCATE_parser___ReduceAction939___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[2] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(89); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36852 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction939___init(val_t p0, int* init_table){ + int itpos943 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction939].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos943]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36854; + fra.me.meth = LOCATE_parser___ReduceAction939___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36854 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos943] = 1; + return; +} +void parser___ReduceAction940___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36858; + fra.me.meth = LOCATE_parser___ReduceAction940___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = NEW_Array_array___Array___init(); + fra.me.REG[2] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(89); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36867 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction940___init(val_t p0, int* init_table){ + int itpos944 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction940].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos944]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36869; + fra.me.meth = LOCATE_parser___ReduceAction940___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36869 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos944] = 1; + return; +} +void parser___ReduceAction941___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36873; + fra.me.meth = LOCATE_parser___ReduceAction941___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36878 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36878); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(89); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36880 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction941___init(val_t p0, int* init_table){ + int itpos945 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction941].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos945]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36882; + fra.me.meth = LOCATE_parser___ReduceAction941___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36882 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos945] = 1; + return; +} +void parser___ReduceAction942___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36886; + fra.me.meth = LOCATE_parser___ReduceAction942___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36891 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36891); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36893 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction942___init(val_t p0, int* init_table){ + int itpos946 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction942].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos946]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36895; + fra.me.meth = LOCATE_parser___ReduceAction942___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36895 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos946] = 1; + return; +} +void parser___ReduceAction943___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36899; + fra.me.meth = LOCATE_parser___ReduceAction943___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36904 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36904); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36906 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction943___init(val_t p0, int* init_table){ + int itpos947 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction943].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos947]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36908; + fra.me.meth = LOCATE_parser___ReduceAction943___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36908 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos947] = 1; + return; +} +void parser___ReduceAction944___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36912; + fra.me.meth = LOCATE_parser___ReduceAction944___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwreturn, ID_TKwreturn)) /*cast nullable TKwreturn*/; + /* ./parser//parser.nit:36917 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36917); + nit_exit(1); + } + fra.me.REG[2] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36923 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction944___init(val_t p0, int* init_table){ + int itpos948 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction944].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos948]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36925; + fra.me.meth = LOCATE_parser___ReduceAction944___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36925 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos948] = 1; + return; +} +void parser___ReduceAction945___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36929; + fra.me.meth = LOCATE_parser___ReduceAction945___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwreturn, ID_TKwreturn)) /*cast nullable TKwreturn*/; + /* ./parser//parser.nit:36935 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36935); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36937 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36937); + nit_exit(1); + } + fra.me.REG[2] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36943 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction945___init(val_t p0, int* init_table){ + int itpos949 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction945].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos949]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36945; + fra.me.meth = LOCATE_parser___ReduceAction945___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36945 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos949] = 1; + return; +} +void parser___ReduceAction946___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36949; + fra.me.meth = LOCATE_parser___ReduceAction946___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:36954 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36954); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36961 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction946___init(val_t p0, int* init_table){ + int itpos950 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction946].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos950]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36963; + fra.me.meth = LOCATE_parser___ReduceAction946___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36963 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos950] = 1; + return; +} +void parser___ReduceAction947___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36967; + fra.me.meth = LOCATE_parser___ReduceAction947___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:36973 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36973); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:36975 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36975); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:36982 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction947___init(val_t p0, int* init_table){ + int itpos951 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction947].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos951]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36984; + fra.me.meth = LOCATE_parser___ReduceAction947___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:36984 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos951] = 1; + return; +} +void parser___ReduceAction948___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 36988; + fra.me.meth = LOCATE_parser___ReduceAction948___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:36994 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36994); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:36996 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 36996); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37003 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction948___init(val_t p0, int* init_table){ + int itpos952 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction948].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos952]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37005; + fra.me.meth = LOCATE_parser___ReduceAction948___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37005 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos952] = 1; + return; +} +void parser___ReduceAction949___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37009; + fra.me.meth = LOCATE_parser___ReduceAction949___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwbreak, ID_TKwbreak)) /*cast nullable TKwbreak*/; + /* ./parser//parser.nit:37016 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37016); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:37018 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37018); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37020 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37020); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37027 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction949___init(val_t p0, int* init_table){ + int itpos953 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction949].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos953]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37029; + fra.me.meth = LOCATE_parser___ReduceAction949___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37029 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos953] = 1; + return; +} +void parser___ReduceAction950___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37033; + fra.me.meth = LOCATE_parser___ReduceAction950___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwabort, ID_TKwabort)) /*cast nullable TKwabort*/; + /* ./parser//parser.nit:37038 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37038); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37043 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction950___init(val_t p0, int* init_table){ + int itpos954 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction950].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos954]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37045; + fra.me.meth = LOCATE_parser___ReduceAction950___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37045 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos954] = 1; + return; +} +void parser___ReduceAction951___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37049; + fra.me.meth = LOCATE_parser___ReduceAction951___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/; + /* ./parser//parser.nit:37054 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37054); + nit_exit(1); + } + fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37061 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction951___init(val_t p0, int* init_table){ + int itpos955 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction951].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos955]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37063; + fra.me.meth = LOCATE_parser___ReduceAction951___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37063 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos955] = 1; + return; +} +void parser___ReduceAction952___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37067; + fra.me.meth = LOCATE_parser___ReduceAction952___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/; + /* ./parser//parser.nit:37073 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37073); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:37075 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37075); + nit_exit(1); + } + fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37082 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction952___init(val_t p0, int* init_table){ + int itpos956 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction952].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos956]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37084; + fra.me.meth = LOCATE_parser___ReduceAction952___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37084 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos956] = 1; + return; +} +void parser___ReduceAction953___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37088; + fra.me.meth = LOCATE_parser___ReduceAction953___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/; + /* ./parser//parser.nit:37094 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37094); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37096 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37096); + nit_exit(1); + } + fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37103 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction953___init(val_t p0, int* init_table){ + int itpos957 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction953].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos957]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37105; + fra.me.meth = LOCATE_parser___ReduceAction953___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37105 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos957] = 1; + return; +} +void parser___ReduceAction954___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37109; + fra.me.meth = LOCATE_parser___ReduceAction954___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast nullable TKwcontinue*/; + /* ./parser//parser.nit:37116 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37116); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:37118 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37118); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37120 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37120); + nit_exit(1); + } + fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37127 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction954___init(val_t p0, int* init_table){ + int itpos958 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction954].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos958]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37129; + fra.me.meth = LOCATE_parser___ReduceAction954___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37129 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos958] = 1; + return; +} +void parser___ReduceAction955___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37133; + fra.me.meth = LOCATE_parser___ReduceAction955___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37138 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37138); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37140 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction955___init(val_t p0, int* init_table){ + int itpos959 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction955].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos959]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37142; + fra.me.meth = LOCATE_parser___ReduceAction955___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37142 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos959] = 1; + return; +} +void parser___ReduceAction956___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37146; + fra.me.meth = LOCATE_parser___ReduceAction956___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37151 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37151); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37153 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction956___init(val_t p0, int* init_table){ + int itpos960 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction956].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos960]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37155; + fra.me.meth = LOCATE_parser___ReduceAction956___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37155 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos960] = 1; + return; +} +void parser___ReduceAction957___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37159; + fra.me.meth = LOCATE_parser___ReduceAction957___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37164 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37164); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37166 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction957___init(val_t p0, int* init_table){ + int itpos961 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction957].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos961]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37168; + fra.me.meth = LOCATE_parser___ReduceAction957___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37168 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos961] = 1; + return; +} +void parser___ReduceAction958___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37172; + fra.me.meth = LOCATE_parser___ReduceAction958___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37177 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37177); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37179 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction958___init(val_t p0, int* init_table){ + int itpos962 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction958].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos962]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37181; + fra.me.meth = LOCATE_parser___ReduceAction958___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37181 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos962] = 1; + return; +} +void parser___ReduceAction959___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37185; + fra.me.meth = LOCATE_parser___ReduceAction959___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37190 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37190); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37192 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction959___init(val_t p0, int* init_table){ + int itpos963 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction959].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos963]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37194; + fra.me.meth = LOCATE_parser___ReduceAction959___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37194 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos963] = 1; + return; +} +void parser___ReduceAction960___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37198; + fra.me.meth = LOCATE_parser___ReduceAction960___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37203 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37203); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37205 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction960___init(val_t p0, int* init_table){ + int itpos964 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction960].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos964]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37207; + fra.me.meth = LOCATE_parser___ReduceAction960___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37207 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos964] = 1; + return; +} +void parser___ReduceAction961___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37211; + fra.me.meth = LOCATE_parser___ReduceAction961___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37222 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37222); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:37224 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37224); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37226 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37226); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:37228 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:37229 */ + } else { + /* ./parser//parser.nit:37231 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37241 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction961___init(val_t p0, int* init_table){ + int itpos965 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction961].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos965]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37243; + fra.me.meth = LOCATE_parser___ReduceAction961___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37243 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos965] = 1; + return; +} +void parser___ReduceAction962___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37247; + fra.me.meth = LOCATE_parser___ReduceAction962___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:37257 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37257); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37259 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37259); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:37261 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:37262 */ + } else { + /* ./parser//parser.nit:37264 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37274 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction962___init(val_t p0, int* init_table){ + int itpos966 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction962].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos966]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37276; + fra.me.meth = LOCATE_parser___ReduceAction962___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37276 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos966] = 1; + return; +} +void parser___ReduceAction963___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37280; + fra.me.meth = LOCATE_parser___ReduceAction963___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37292 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37292); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:37294 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37294); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37296 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37296); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:37298 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:37299 */ + } else { + /* ./parser//parser.nit:37301 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37305 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37305); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:37307 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:37308 */ + } else { + /* ./parser//parser.nit:37310 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37320 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction963___init(val_t p0, int* init_table){ + int itpos967 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction963].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos967]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37322; + fra.me.meth = LOCATE_parser___ReduceAction963___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37322 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos967] = 1; + return; +} +void parser___ReduceAction964___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37326; + fra.me.meth = LOCATE_parser___ReduceAction964___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:37337 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37337); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37339 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37339); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:37341 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:37342 */ + } else { + /* ./parser//parser.nit:37344 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37348 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37348); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:37350 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:37351 */ + } else { + /* ./parser//parser.nit:37353 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37363 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction964___init(val_t p0, int* init_table){ + int itpos968 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction964].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos968]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37365; + fra.me.meth = LOCATE_parser___ReduceAction964___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37365 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos968] = 1; + return; +} +void parser___ReduceAction965___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37369; + fra.me.meth = LOCATE_parser___ReduceAction965___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:37376 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37376); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37378 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37378); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:37380 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:37381 */ + } else { + /* ./parser//parser.nit:37383 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37392 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction965___init(val_t p0, int* init_table){ + int itpos969 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction965].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos969]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37394; + fra.me.meth = LOCATE_parser___ReduceAction965___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37394 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos969] = 1; + return; +} +void parser___ReduceAction966___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37398; + fra.me.meth = LOCATE_parser___ReduceAction966___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/; + /* ./parser//parser.nit:37406 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37406); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:37408 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37408); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37410 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37410); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:37412 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:37413 */ + } else { + /* ./parser//parser.nit:37415 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37424 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction966___init(val_t p0, int* init_table){ + int itpos970 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction966].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos970]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37426; + fra.me.meth = LOCATE_parser___ReduceAction966___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37426 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos970] = 1; + return; +} +void parser___ReduceAction967___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37430; + fra.me.meth = LOCATE_parser___ReduceAction967___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37440 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37440); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:37442 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37442); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37444 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37444); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:37446 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:37447 */ + } else { + /* ./parser//parser.nit:37449 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37458 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction967___init(val_t p0, int* init_table){ + int itpos971 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction967].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos971]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37460; + fra.me.meth = LOCATE_parser___ReduceAction967___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37460 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos971] = 1; + return; +} +void parser___ReduceAction968___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37464; + fra.me.meth = LOCATE_parser___ReduceAction968___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:37473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37473); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37475 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37475); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:37477 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:37478 */ + } else { + /* ./parser//parser.nit:37480 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(90); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37489 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction968___init(val_t p0, int* init_table){ + int itpos972 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction968].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos972]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37491; + fra.me.meth = LOCATE_parser___ReduceAction968___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37491 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos972] = 1; + return; +} +void parser___ReduceAction969___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37495; + fra.me.meth = LOCATE_parser___ReduceAction969___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClosureDef, ID_AClosureDef)) /*cast nullable AClosureDef*/; + /* ./parser//parser.nit:37501 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37501); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:37502 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:37503 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(91); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37506 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction969___init(val_t p0, int* init_table){ + int itpos973 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction969].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos973]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37508; + fra.me.meth = LOCATE_parser___ReduceAction969___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37508 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos973] = 1; + return; +} +void parser___ReduceAction970___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37512; + fra.me.meth = LOCATE_parser___ReduceAction970___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureDef, ID_AClosureDef)) /*cast nullable AClosureDef*/; + /* ./parser//parser.nit:37519 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37519); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37521 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37521); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:37522 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:37523 */ + array___Array___add(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:37526 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:37527 */ + } else { + /* ./parser//parser.nit:37529 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(91); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37533 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction970___init(val_t p0, int* init_table){ + int itpos974 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction970].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos974]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37535; + fra.me.meth = LOCATE_parser___ReduceAction970___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37535 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos974] = 1; + return; +} +void parser___ReduceAction971___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37539; + fra.me.meth = LOCATE_parser___ReduceAction971___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:37551 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37551); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:37553 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37553); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:37555 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37555); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37558 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37558); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:37559 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:37560 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + fra.me.REG[7] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], NIT_NULL); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37574 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction971___init(val_t p0, int* init_table){ + int itpos975 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction971].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos975]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37576; + fra.me.meth = LOCATE_parser___ReduceAction971___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37576 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos975] = 1; + return; +} +void parser___ReduceAction972___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37580; + fra.me.meth = LOCATE_parser___ReduceAction972___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:37593 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37593); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:37595 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37595); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:37597 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37597); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37600); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37602 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37602); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:37603 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:37604 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:37607 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[2]; + /* ./parser//parser.nit:37608 */ + } else { + /* ./parser//parser.nit:37610 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + fra.me.REG[8] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[8], NIT_NULL); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37625 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction972___init(val_t p0, int* init_table){ + int itpos976 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction972].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos976]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37627; + fra.me.meth = LOCATE_parser___ReduceAction972___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37627 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos976] = 1; + return; +} +void parser___ReduceAction973___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37631; + fra.me.meth = LOCATE_parser___ReduceAction973___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:37641 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37641); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:37643 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37643); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:37645 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37645); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + fra.me.REG[6] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[2], fra.me.REG[6], NIT_NULL); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37659 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction973___init(val_t p0, int* init_table){ + int itpos977 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction973].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos977]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37661; + fra.me.meth = LOCATE_parser___ReduceAction973___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37661 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos977] = 1; + return; +} +void parser___ReduceAction974___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37665; + fra.me.meth = LOCATE_parser___ReduceAction974___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:37674 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37674); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:37676 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37676); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:37678 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37678); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + fra.me.REG[6] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[2], fra.me.REG[6], NIT_NULL); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37692 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction974___init(val_t p0, int* init_table){ + int itpos978 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction974].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos978]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37694; + fra.me.meth = LOCATE_parser___ReduceAction974___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37694 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos978] = 1; + return; +} +void parser___ReduceAction975___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37698; + fra.me.meth = LOCATE_parser___ReduceAction975___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:37711 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37711); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:37713 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37713); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37715 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37715); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:37717 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:37718 */ + } else { + /* ./parser//parser.nit:37720 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:37724 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37724); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37727 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37727); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:37728 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:37729 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + fra.me.REG[4] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], NIT_NULL); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37743 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction975___init(val_t p0, int* init_table){ + int itpos979 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction975].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos979]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37745; + fra.me.meth = LOCATE_parser___ReduceAction975___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37745 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos979] = 1; + return; +} +void parser___ReduceAction976___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37749; + fra.me.meth = LOCATE_parser___ReduceAction976___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:37763 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37763); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:37765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37765); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37767); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:37769 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[5]; + /* ./parser//parser.nit:37770 */ + } else { + /* ./parser//parser.nit:37772 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:37776 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37776); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37779 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37779); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37781 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37781); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:37782 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:37783 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:37786 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:37787 */ + } else { + /* ./parser//parser.nit:37789 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37804 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction976___init(val_t p0, int* init_table){ + int itpos980 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction976].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos980]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37806; + fra.me.meth = LOCATE_parser___ReduceAction976___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37806 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos980] = 1; + return; +} +void parser___ReduceAction977___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37810; + fra.me.meth = LOCATE_parser___ReduceAction977___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:37821 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37821); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:37823 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37823); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37825 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37825); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:37827 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:37828 */ + } else { + /* ./parser//parser.nit:37830 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:37834 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37834); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37848 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction977___init(val_t p0, int* init_table){ + int itpos981 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction977].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos981]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37850; + fra.me.meth = LOCATE_parser___ReduceAction977___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37850 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos981] = 1; + return; +} +void parser___ReduceAction978___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37854; + fra.me.meth = LOCATE_parser___ReduceAction978___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:37864 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37864); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:37866 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37866); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37868 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37868); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:37870 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:37871 */ + } else { + /* ./parser//parser.nit:37873 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:37877 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37877); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37891 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction978___init(val_t p0, int* init_table){ + int itpos982 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction978].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos982]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37893; + fra.me.meth = LOCATE_parser___ReduceAction978___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37893 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos982] = 1; + return; +} +void parser___ReduceAction979___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37897; + fra.me.meth = LOCATE_parser___ReduceAction979___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:37910 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37910); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:37912 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37912); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:37914 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37914); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37917 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37917); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:37918 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:37919 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:37925 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37925); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[8], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37935 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction979___init(val_t p0, int* init_table){ + int itpos983 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction979].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos983]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37937; + fra.me.meth = LOCATE_parser___ReduceAction979___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37937 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos983] = 1; + return; +} +void parser___ReduceAction980___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37941; + fra.me.meth = LOCATE_parser___ReduceAction980___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:37955 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37955); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:37957 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37957); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:37959 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37959); + nit_exit(1); + } + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:37962 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37962); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:37964 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37964); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:37965 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:37966 */ + array___Array___add(fra.me.REG[9], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:37969 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[3]; + /* ./parser//parser.nit:37970 */ + } else { + /* ./parser//parser.nit:37972 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]); + } + fra.me.REG[9] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:37979 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 37979); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[5], fra.me.REG[9], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:37989 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction980___init(val_t p0, int* init_table){ + int itpos984 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction980].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos984]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37991; + fra.me.meth = LOCATE_parser___ReduceAction980___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:37991 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos984] = 1; + return; +} +void parser___ReduceAction981___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 37995; + fra.me.meth = LOCATE_parser___ReduceAction981___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:38006 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38006); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:38008 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38008); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38010 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38010); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:38016 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38016); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38026 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction981___init(val_t p0, int* init_table){ + int itpos985 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction981].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos985]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38028; + fra.me.meth = LOCATE_parser___ReduceAction981___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38028 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos985] = 1; + return; +} +void parser___ReduceAction982___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38032; + fra.me.meth = LOCATE_parser___ReduceAction982___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:38042 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38042); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:38044 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38044); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38046 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38046); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:38052 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38052); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38062 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction982___init(val_t p0, int* init_table){ + int itpos986 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction982].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos986]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38064; + fra.me.meth = LOCATE_parser___ReduceAction982___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38064 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos986] = 1; + return; +} +void parser___ReduceAction983___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38068; + fra.me.meth = LOCATE_parser___ReduceAction983___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:38082 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38082); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:38084 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38084); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38086 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38086); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:38088 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[5]; + /* ./parser//parser.nit:38089 */ + } else { + /* ./parser//parser.nit:38091 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38095 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38095); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38098 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38098); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:38099 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:38100 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:38106 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38106); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38116 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction983___init(val_t p0, int* init_table){ + int itpos987 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction983].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos987]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38118; + fra.me.meth = LOCATE_parser___ReduceAction983___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38118 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos987] = 1; + return; +} +void parser___ReduceAction984___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38122; + fra.me.meth = LOCATE_parser___ReduceAction984___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:38137 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38137); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:38139 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38139); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38141 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38141); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:38143 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[6]; + /* ./parser//parser.nit:38144 */ + } else { + /* ./parser//parser.nit:38146 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38150 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38150); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38153 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38153); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38155 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38155); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:38156 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:38157 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:38160 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:38161 */ + } else { + /* ./parser//parser.nit:38163 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:38170 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38170); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[9], fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38180 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction984___init(val_t p0, int* init_table){ + int itpos988 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction984].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos988]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38182; + fra.me.meth = LOCATE_parser___ReduceAction984___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38182 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos988] = 1; + return; +} +void parser___ReduceAction985___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38186; + fra.me.meth = LOCATE_parser___ReduceAction985___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:38198 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38198); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:38200 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38200); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38202 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38202); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:38204 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:38205 */ + } else { + /* ./parser//parser.nit:38207 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38211 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38211); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:38217 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38217); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38227 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction985___init(val_t p0, int* init_table){ + int itpos989 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction985].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos989]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38229; + fra.me.meth = LOCATE_parser___ReduceAction985___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38229 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos989] = 1; + return; +} +void parser___ReduceAction986___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38233; + fra.me.meth = LOCATE_parser___ReduceAction986___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:38244 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38244); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:38246 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38246); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38248 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38248); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:38250 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:38251 */ + } else { + /* ./parser//parser.nit:38253 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38257 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38257); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:38263 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38263); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38273 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction986___init(val_t p0, int* init_table){ + int itpos990 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction986].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos990]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38275; + fra.me.meth = LOCATE_parser___ReduceAction986___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38275 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos990] = 1; + return; +} +void parser___ReduceAction987___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38279; + fra.me.meth = LOCATE_parser___ReduceAction987___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:38288 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38288); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:38290 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38290); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38292 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38292); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38294 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38294); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38304 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction987___init(val_t p0, int* init_table){ + int itpos991 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction987].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos991]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38306; + fra.me.meth = LOCATE_parser___ReduceAction987___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38306 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos991] = 1; + return; +} +void parser___ReduceAction988___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38310; + fra.me.meth = LOCATE_parser___ReduceAction988___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:38320 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38320); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:38322 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38322); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38324 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38324); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:38326 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:38327 */ + } else { + /* ./parser//parser.nit:38329 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38333 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38333); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38335 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38335); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38345 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction988___init(val_t p0, int* init_table){ + int itpos992 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction988].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos992]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38347; + fra.me.meth = LOCATE_parser___ReduceAction988___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38347 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos992] = 1; + return; +} +void parser___ReduceAction989___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38351; + fra.me.meth = LOCATE_parser___ReduceAction989___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:38361 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38361); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:38363 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38363); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38365 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38365); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], NIT_NULL, fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38375 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction989___init(val_t p0, int* init_table){ + int itpos993 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction989].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos993]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38377; + fra.me.meth = LOCATE_parser___ReduceAction989___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38377 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos993] = 1; + return; +} +void parser___ReduceAction990___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38381; + fra.me.meth = LOCATE_parser___ReduceAction990___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TBang, ID_TBang)) /*cast nullable TBang*/; + /* ./parser//parser.nit:38392 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38392); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AClosureId, ID_AClosureId)) /*cast nullable AClosureId*/; + /* ./parser//parser.nit:38394 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38394); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38396 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38396); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:38398 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:38399 */ + } else { + /* ./parser//parser.nit:38401 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38405 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38405); + nit_exit(1); + } + fra.me.REG[2] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], NIT_NULL, fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(92); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38415 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction990___init(val_t p0, int* init_table){ + int itpos994 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction990].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos994]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38417; + fra.me.meth = LOCATE_parser___ReduceAction990___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38417 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos994] = 1; + return; +} +void parser___ReduceAction991___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38421; + fra.me.meth = LOCATE_parser___ReduceAction991___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38426 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38426); + nit_exit(1); + } + fra.me.REG[2] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(NIT_NULL, NIT_NULL, fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(93); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38433 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction991___init(val_t p0, int* init_table){ + int itpos995 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction991].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos995]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38435; + fra.me.meth = LOCATE_parser___ReduceAction991___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38435 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos995] = 1; + return; +} +void parser___ReduceAction992___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38439; + fra.me.meth = LOCATE_parser___ReduceAction992___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:38445 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38445); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:38447 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38447); + nit_exit(1); + } + fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(94); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38456 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction992___init(val_t p0, int* init_table){ + int itpos996 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction992].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos996]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38458; + fra.me.meth = LOCATE_parser___ReduceAction992___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38458 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos996] = 1; + return; +} +void parser___ReduceAction993___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38462; + fra.me.meth = LOCATE_parser___ReduceAction993___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:38469 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38469); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:38471 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38471); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:38473 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38473); + nit_exit(1); + } + fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL, NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(94); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38482 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction993___init(val_t p0, int* init_table){ + int itpos997 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction993].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos997]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38484; + fra.me.meth = LOCATE_parser___ReduceAction993___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38484 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos997] = 1; + return; +} +void parser___ReduceAction994___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38488; + fra.me.meth = LOCATE_parser___ReduceAction994___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:38497 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38497); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:38499 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38499); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:38501 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38501); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38503 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38503); + nit_exit(1); + } + fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(94); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38512 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction994___init(val_t p0, int* init_table){ + int itpos998 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction994].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos998]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38514; + fra.me.meth = LOCATE_parser___ReduceAction994___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38514 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos998] = 1; + return; +} +void parser___ReduceAction995___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38518; + fra.me.meth = LOCATE_parser___ReduceAction995___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwvar, ID_TKwvar)) /*cast nullable TKwvar*/; + /* ./parser//parser.nit:38528 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38528); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:38530 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38530); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:38532 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38532); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:38534 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38534); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38536 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38536); + nit_exit(1); + } + fra.me.REG[2] = NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(94); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38545 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction995___init(val_t p0, int* init_table){ + int itpos999 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction995].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos999]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38547; + fra.me.meth = LOCATE_parser___ReduceAction995___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38547 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos999] = 1; + return; +} +void parser___ReduceAction996___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38551; + fra.me.meth = LOCATE_parser___ReduceAction996___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38561 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38561); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:38563 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38563); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:38565 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38565); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38567 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38567); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(95); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38575 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction996___init(val_t p0, int* init_table){ + int itpos1000 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction996].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1000]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38577; + fra.me.meth = LOCATE_parser___ReduceAction996___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38577 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1000] = 1; + return; +} +void parser___ReduceAction997___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38581; + fra.me.meth = LOCATE_parser___ReduceAction997___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:38590 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38590); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:38592 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38592); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38594 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38594); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(95); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38602 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction997___init(val_t p0, int* init_table){ + int itpos1001 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction997].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1001]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38604; + fra.me.meth = LOCATE_parser___ReduceAction997___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38604 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1001] = 1; + return; +} +void parser___ReduceAction998___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38608; + fra.me.meth = LOCATE_parser___ReduceAction998___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38620 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38620); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:38622 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38622); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38624 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38624); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:38626 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:38627 */ + } else { + /* ./parser//parser.nit:38629 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:38633 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38633); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38635 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38635); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(95); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38644 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction998___init(val_t p0, int* init_table){ + int itpos1002 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction998].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1002]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38646; + fra.me.meth = LOCATE_parser___ReduceAction998___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38646 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1002] = 1; + return; +} +void parser___ReduceAction999___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38650; + fra.me.meth = LOCATE_parser___ReduceAction999___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:38661 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38661); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38663 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38663); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:38665 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:38666 */ + } else { + /* ./parser//parser.nit:38668 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:38672 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38672); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38674 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38674); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACallAssignExpr_parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(95); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38683 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction999___init(val_t p0, int* init_table){ + int itpos1003 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction999].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1003]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38685; + fra.me.meth = LOCATE_parser___ReduceAction999___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38685 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1003] = 1; + return; +} +void parser___ReduceAction1000___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38689; + fra.me.meth = LOCATE_parser___ReduceAction1000___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38698 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38698); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38700 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38700); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:38702 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:38703 */ + } else { + /* ./parser//parser.nit:38705 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TAssign, ID_TAssign)) /*cast nullable TAssign*/; + /* ./parser//parser.nit:38709 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38709); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38711 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38711); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(95); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38719 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1000___init(val_t p0, int* init_table){ + int itpos1004 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1000].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1004]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38721; + fra.me.meth = LOCATE_parser___ReduceAction1000___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38721 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1004] = 1; + return; +} +void parser___ReduceAction1001___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38725; + fra.me.meth = LOCATE_parser___ReduceAction1001___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38735 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38735); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:38737 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38737); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/; + /* ./parser//parser.nit:38739 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38739); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38741 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38741); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(95); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38749 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1001___init(val_t p0, int* init_table){ + int itpos1005 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1001].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1005]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38751; + fra.me.meth = LOCATE_parser___ReduceAction1001___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38751 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1005] = 1; + return; +} +void parser___ReduceAction1002___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38755; + fra.me.meth = LOCATE_parser___ReduceAction1002___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:38764 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38764); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/; + /* ./parser//parser.nit:38766 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38766); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38768 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38768); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(95); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38776 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1002___init(val_t p0, int* init_table){ + int itpos1006 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1002].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1006]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38778; + fra.me.meth = LOCATE_parser___ReduceAction1002___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38778 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1006] = 1; + return; +} +void parser___ReduceAction1003___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38782; + fra.me.meth = LOCATE_parser___ReduceAction1003___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38794 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38794); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:38796 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38796); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38798 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38798); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:38800 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[4]; + /* ./parser//parser.nit:38801 */ + } else { + /* ./parser//parser.nit:38803 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/; + /* ./parser//parser.nit:38807 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38807); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38809 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38809); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(95); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38818 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1003___init(val_t p0, int* init_table){ + int itpos1007 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1003].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1007]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38820; + fra.me.meth = LOCATE_parser___ReduceAction1003___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38820 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1007] = 1; + return; +} +void parser___ReduceAction1004___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38824; + fra.me.meth = LOCATE_parser___ReduceAction1004___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:38835 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38835); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38837 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38837); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:38839 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:38840 */ + } else { + /* ./parser//parser.nit:38842 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/; + /* ./parser//parser.nit:38846 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38846); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38848 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38848); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACallReassignExpr_parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(95); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38857 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1004___init(val_t p0, int* init_table){ + int itpos1008 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1004].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1008]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38859; + fra.me.meth = LOCATE_parser___ReduceAction1004___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38859 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1008] = 1; + return; +} +void parser___ReduceAction1005___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38863; + fra.me.meth = LOCATE_parser___ReduceAction1005___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38872 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38872); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38874 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38874); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:38876 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[4]; + /* ./parser//parser.nit:38877 */ + } else { + /* ./parser//parser.nit:38879 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AAssignOp, ID_AAssignOp)) /*cast nullable AAssignOp*/; + /* ./parser//parser.nit:38883 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38883); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38885 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38885); + nit_exit(1); + } + fra.me.REG[2] = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(95); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38893 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1005___init(val_t p0, int* init_table){ + int itpos1009 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1005].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1009]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38895; + fra.me.meth = LOCATE_parser___ReduceAction1005___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38895 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1009] = 1; + return; +} +void parser___ReduceAction1006___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38899; + fra.me.meth = LOCATE_parser___ReduceAction1006___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38908 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38908); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38911 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38911); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:38912 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:38913 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + fra.me.REG[4] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], NIT_NULL); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(96); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38924 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1006___init(val_t p0, int* init_table){ + int itpos1010 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1006].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1010]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38926; + fra.me.meth = LOCATE_parser___ReduceAction1006___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38926 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1010] = 1; + return; +} +void parser___ReduceAction1007___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38930; + fra.me.meth = LOCATE_parser___ReduceAction1007___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38940 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38940); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:38943 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38943); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:38945 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38945); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:38946 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:38947 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:38950 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:38951 */ + } else { + /* ./parser//parser.nit:38953 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(96); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38965 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1007___init(val_t p0, int* init_table){ + int itpos1011 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1007].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1011]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38967; + fra.me.meth = LOCATE_parser___ReduceAction1007___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38967 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1011] = 1; + return; +} +void parser___ReduceAction1008___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38971; + fra.me.meth = LOCATE_parser___ReduceAction1008___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:38978 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 38978); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(96); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:38989 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1008___init(val_t p0, int* init_table){ + int itpos1012 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1008].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1012]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38991; + fra.me.meth = LOCATE_parser___ReduceAction1008___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:38991 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1012] = 1; + return; +} +void parser___ReduceAction1009___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 38995; + fra.me.meth = LOCATE_parser___ReduceAction1009___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39001 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39001); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(96); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39012 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1009___init(val_t p0, int* init_table){ + int itpos1013 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1009].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1013]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39014; + fra.me.meth = LOCATE_parser___ReduceAction1009___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39014 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1013] = 1; + return; +} +void parser___ReduceAction1010___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39018; + fra.me.meth = LOCATE_parser___ReduceAction1010___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39028 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39028); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39031 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39031); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:39032 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39033 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39039 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39039); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(96); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39046 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1010___init(val_t p0, int* init_table){ + int itpos1014 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1010].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1014]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39048; + fra.me.meth = LOCATE_parser___ReduceAction1010___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39048 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1014] = 1; + return; +} +void parser___ReduceAction1011___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39052; + fra.me.meth = LOCATE_parser___ReduceAction1011___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39063 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39063); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39066 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39066); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:39068 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39068); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:39069 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39070 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:39073 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:39074 */ + } else { + /* ./parser//parser.nit:39076 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39083 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39083); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(96); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39090 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1011___init(val_t p0, int* init_table){ + int itpos1015 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1011].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1015]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39092; + fra.me.meth = LOCATE_parser___ReduceAction1011___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39092 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1015] = 1; + return; +} +void parser___ReduceAction1012___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39096; + fra.me.meth = LOCATE_parser___ReduceAction1012___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39104 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39104); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39110 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39110); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(96); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39117 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1012___init(val_t p0, int* init_table){ + int itpos1016 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1012].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1016]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39119; + fra.me.meth = LOCATE_parser___ReduceAction1012___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39119 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1016] = 1; + return; +} +void parser___ReduceAction1013___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39123; + fra.me.meth = LOCATE_parser___ReduceAction1013___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39130 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39130); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39136 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39136); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(96); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39143 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1013___init(val_t p0, int* init_table){ + int itpos1017 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1013].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1017]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39145; + fra.me.meth = LOCATE_parser___ReduceAction1013___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39145 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1017] = 1; + return; +} +void parser___ReduceAction1014___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39149; + fra.me.meth = LOCATE_parser___ReduceAction1014___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39155 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39155); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39157 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39157); + nit_exit(1); + } + fra.me.REG[2] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(96); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39164 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1014___init(val_t p0, int* init_table){ + int itpos1018 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1014].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1018]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39166; + fra.me.meth = LOCATE_parser___ReduceAction1014___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39166 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1018] = 1; + return; +} +void parser___ReduceAction1015___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39170; + fra.me.meth = LOCATE_parser___ReduceAction1015___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:39182 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39182); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39184 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39184); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39186 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39186); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39188 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39188); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(97); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39196 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1015___init(val_t p0, int* init_table){ + int itpos1019 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1015].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1019]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39198; + fra.me.meth = LOCATE_parser___ReduceAction1015___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39198 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1019] = 1; + return; +} +void parser___ReduceAction1016___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39202; + fra.me.meth = LOCATE_parser___ReduceAction1016___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:39211 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39211); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39214 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39214); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:39215 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39216 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + fra.me.REG[4] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], NIT_NULL); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(98); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39227 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1016___init(val_t p0, int* init_table){ + int itpos1020 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1016].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1020]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39229; + fra.me.meth = LOCATE_parser___ReduceAction1016___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39229 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1020] = 1; + return; +} +void parser___ReduceAction1017___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39233; + fra.me.meth = LOCATE_parser___ReduceAction1017___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:39243 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39243); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39246 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39246); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:39248 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39248); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:39249 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39250 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:39253 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:39254 */ + } else { + /* ./parser//parser.nit:39256 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(98); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39268 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1017___init(val_t p0, int* init_table){ + int itpos1021 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1017].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1021]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39270; + fra.me.meth = LOCATE_parser___ReduceAction1017___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39270 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1021] = 1; + return; +} +void parser___ReduceAction1018___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39274; + fra.me.meth = LOCATE_parser___ReduceAction1018___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:39281 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39281); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(98); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39292 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1018___init(val_t p0, int* init_table){ + int itpos1022 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1018].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1022]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39294; + fra.me.meth = LOCATE_parser___ReduceAction1018___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39294 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1022] = 1; + return; +} +void parser___ReduceAction1019___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39298; + fra.me.meth = LOCATE_parser___ReduceAction1019___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:39304 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39304); + nit_exit(1); + } + fra.me.REG[3] = NEW_Array_array___Array___init(); + fra.me.REG[3] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]); + fra.me.REG[3] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[2], fra.me.REG[3], NIT_NULL); + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(98); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39315 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1019___init(val_t p0, int* init_table){ + int itpos1023 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1019].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1023]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39317; + fra.me.meth = LOCATE_parser___ReduceAction1019___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39317 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1023] = 1; + return; +} +void parser___ReduceAction1020___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39321; + fra.me.meth = LOCATE_parser___ReduceAction1020___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:39331 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39331); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39334 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39334); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:39335 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39336 */ + array___Array___add(fra.me.REG[5], fra.me.REG[3]); + } + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39342 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39342); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(98); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39349 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1020___init(val_t p0, int* init_table){ + int itpos1024 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1020].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1024]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39351; + fra.me.meth = LOCATE_parser___ReduceAction1020___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39351 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1024] = 1; + return; +} +void parser___ReduceAction1021___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39355; + fra.me.meth = LOCATE_parser___ReduceAction1021___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:39366 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39366); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39369 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39369); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:39371 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39371); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:39372 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39373 */ + array___Array___add(fra.me.REG[6], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:39376 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:39377 */ + } else { + /* ./parser//parser.nit:39379 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39386 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39386); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(98); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39393 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1021___init(val_t p0, int* init_table){ + int itpos1025 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1021].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1025]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39395; + fra.me.meth = LOCATE_parser___ReduceAction1021___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39395 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1025] = 1; + return; +} +void parser___ReduceAction1022___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39399; + fra.me.meth = LOCATE_parser___ReduceAction1022___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:39407 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39407); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39413 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39413); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(98); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39420 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1022___init(val_t p0, int* init_table){ + int itpos1026 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1022].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1026]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39422; + fra.me.meth = LOCATE_parser___ReduceAction1022___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39422 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1026] = 1; + return; +} +void parser___ReduceAction1023___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39426; + fra.me.meth = LOCATE_parser___ReduceAction1023___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:39433 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39433); + nit_exit(1); + } + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[4] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39439 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39439); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(98); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39446 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1023___init(val_t p0, int* init_table){ + int itpos1027 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1023].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1027]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39448; + fra.me.meth = LOCATE_parser___ReduceAction1023___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39448 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1027] = 1; + return; +} +void parser___ReduceAction1024___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39452; + fra.me.meth = LOCATE_parser___ReduceAction1024___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwloop, ID_TKwloop)) /*cast nullable TKwloop*/; + /* ./parser//parser.nit:39458 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39458); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39460 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39460); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALoopExpr_parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(98); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39467 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1024___init(val_t p0, int* init_table){ + int itpos1028 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1024].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1028]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39469; + fra.me.meth = LOCATE_parser___ReduceAction1024___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39469 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1028] = 1; + return; +} +void parser___ReduceAction1025___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39473; + fra.me.meth = LOCATE_parser___ReduceAction1025___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:39486 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39486); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39488 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39488); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39490 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39490); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39493 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39493); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:39494 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39495 */ + array___Array___add(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + fra.me.REG[6] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], NIT_NULL); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(99); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39508 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1025___init(val_t p0, int* init_table){ + int itpos1029 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1025].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1029]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39510; + fra.me.meth = LOCATE_parser___ReduceAction1025___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39510 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1029] = 1; + return; +} +void parser___ReduceAction1026___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39514; + fra.me.meth = LOCATE_parser___ReduceAction1026___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:39528 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39528); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39530 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39530); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39532 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39532); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39535 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39535); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:39537 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39537); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:39538 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39539 */ + array___Array___add(fra.me.REG[7], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:39542 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:39543 */ + } else { + /* ./parser//parser.nit:39545 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + fra.me.REG[7] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7], NIT_NULL); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(99); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39559 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1026___init(val_t p0, int* init_table){ + int itpos1030 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1026].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1030]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39561; + fra.me.meth = LOCATE_parser___ReduceAction1026___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39561 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1030] = 1; + return; +} +void parser___ReduceAction1027___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39565; + fra.me.meth = LOCATE_parser___ReduceAction1027___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:39576 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39576); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39578 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39578); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39580 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39580); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(99); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39593 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1027___init(val_t p0, int* init_table){ + int itpos1031 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1027].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1031]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39595; + fra.me.meth = LOCATE_parser___ReduceAction1027___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39595 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1031] = 1; + return; +} +void parser___ReduceAction1028___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39599; + fra.me.meth = LOCATE_parser___ReduceAction1028___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:39609 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39609); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39611 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39611); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39613 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39613); + nit_exit(1); + } + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]); + fra.me.REG[5] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[5], NIT_NULL); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(99); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39626 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1028___init(val_t p0, int* init_table){ + int itpos1032 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1028].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1032]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39628; + fra.me.meth = LOCATE_parser___ReduceAction1028___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39628 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1032] = 1; + return; +} +void parser___ReduceAction1029___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39632; + fra.me.meth = LOCATE_parser___ReduceAction1029___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:39646 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39646); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39648 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39648); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39650 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39650); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39653 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39653); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:39654 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39655 */ + array___Array___add(fra.me.REG[7], fra.me.REG[3]); + } + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39661 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39661); + nit_exit(1); + } + fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(99); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39670 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1029___init(val_t p0, int* init_table){ + int itpos1033 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1029].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1033]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39672; + fra.me.meth = LOCATE_parser___ReduceAction1029___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39672 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1033] = 1; + return; +} +void parser___ReduceAction1030___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39676; + fra.me.meth = LOCATE_parser___ReduceAction1030___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:39691 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39691); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39693 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39693); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39695 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39695); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39698 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39698); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:39700 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39700); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:39701 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39702 */ + array___Array___add(fra.me.REG[8], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:39705 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[3]; + /* ./parser//parser.nit:39706 */ + } else { + /* ./parser//parser.nit:39708 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39715 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39715); + nit_exit(1); + } + fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[8], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(99); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39724 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1030___init(val_t p0, int* init_table){ + int itpos1034 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1030].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1034]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39726; + fra.me.meth = LOCATE_parser___ReduceAction1030___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39726 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1034] = 1; + return; +} +void parser___ReduceAction1031___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39730; + fra.me.meth = LOCATE_parser___ReduceAction1031___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:39742 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39742); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39744 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39744); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39746 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39746); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39752 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39752); + nit_exit(1); + } + fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(99); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39761 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1031___init(val_t p0, int* init_table){ + int itpos1035 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1031].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1035]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39763; + fra.me.meth = LOCATE_parser___ReduceAction1031___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39763 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1035] = 1; + return; +} +void parser___ReduceAction1032___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39767; + fra.me.meth = LOCATE_parser___ReduceAction1032___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:39778 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39778); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39780 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39780); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39782 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39782); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:39788 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39788); + nit_exit(1); + } + fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(99); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39797 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1032___init(val_t p0, int* init_table){ + int itpos1036 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1032].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1036]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39799; + fra.me.meth = LOCATE_parser___ReduceAction1032___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39799 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1036] = 1; + return; +} +void parser___ReduceAction1033___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39803; + fra.me.meth = LOCATE_parser___ReduceAction1033___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwwhile, ID_TKwwhile)) /*cast nullable TKwwhile*/; + /* ./parser//parser.nit:39813 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39813); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39815 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39815); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39817 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39817); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39819 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39819); + nit_exit(1); + } + fra.me.REG[2] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(99); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39828 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1033___init(val_t p0, int* init_table){ + int itpos1037 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1033].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1037]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39830; + fra.me.meth = LOCATE_parser___ReduceAction1033___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39830 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1037] = 1; + return; +} +void parser___ReduceAction1034___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39834; + fra.me.meth = LOCATE_parser___ReduceAction1034___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:39851 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39851); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:39853 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39853); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39855 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39855); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39857 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39857); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39860 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39860); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:39861 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39862 */ + array___Array___add(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + fra.me.REG[7] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], NIT_NULL); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(100); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39876 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1034___init(val_t p0, int* init_table){ + int itpos1038 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1034].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1038]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39878; + fra.me.meth = LOCATE_parser___ReduceAction1034___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39878 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1038] = 1; + return; +} +void parser___ReduceAction1035___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39882; + fra.me.meth = LOCATE_parser___ReduceAction1035___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:39900 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39900); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:39902 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39902); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39904 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39904); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39906 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39906); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39909 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39909); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:39911 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39911); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:39912 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:39913 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[8])(fra.me.REG[8]); + /* ./parser//parser.nit:39916 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[8] = fra.me.REG[2]; + /* ./parser//parser.nit:39917 */ + } else { + /* ./parser//parser.nit:39919 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[2]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + fra.me.REG[8] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], NIT_NULL); + fra.me.REG[0] = fra.me.REG[8]; + REGB0 = TAG_Int(100); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39934 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1035___init(val_t p0, int* init_table){ + int itpos1039 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1035].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1039]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39936; + fra.me.meth = LOCATE_parser___ReduceAction1035___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39936 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1039] = 1; + return; +} +void parser___ReduceAction1036___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39940; + fra.me.meth = LOCATE_parser___ReduceAction1036___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:39955 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39955); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:39957 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39957); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39959 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39959); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:39961 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39961); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + fra.me.REG[6] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[6], NIT_NULL); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(100); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:39975 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1036___init(val_t p0, int* init_table){ + int itpos1040 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1036].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1040]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39977; + fra.me.meth = LOCATE_parser___ReduceAction1036___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:39977 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1040] = 1; + return; +} +void parser___ReduceAction1037___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 39981; + fra.me.meth = LOCATE_parser___ReduceAction1037___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:39995 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39995); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:39997 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39997); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:39999 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 39999); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:40001 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40001); + nit_exit(1); + } + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6]); + fra.me.REG[6] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], fra.me.REG[6], NIT_NULL); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(100); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40015 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1037___init(val_t p0, int* init_table){ + int itpos1041 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1037].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1041]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40017; + fra.me.meth = LOCATE_parser___ReduceAction1037___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40017 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1041] = 1; + return; +} +void parser___ReduceAction1038___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40021; + fra.me.meth = LOCATE_parser___ReduceAction1038___action; + fra.me.has_broke = 0; + fra.me.REG_size = 9; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:40039 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40039); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40041 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40041); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40043 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40043); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:40045 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40045); + nit_exit(1); + } + fra.me.REG[8] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40048 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40048); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./parser//parser.nit:40049 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:40050 */ + array___Array___add(fra.me.REG[8], fra.me.REG[3]); + } + fra.me.REG[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[8]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:40056 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40056); + nit_exit(1); + } + fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(100); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40066 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1038___init(val_t p0, int* init_table){ + int itpos1042 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1038].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1042]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40068; + fra.me.meth = LOCATE_parser___ReduceAction1038___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40068 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1042] = 1; + return; +} +void parser___ReduceAction1039___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[9];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40072; + fra.me.meth = LOCATE_parser___ReduceAction1039___action; + fra.me.has_broke = 0; + fra.me.REG_size = 10; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[8] = NIT_NULL; + fra.me.REG[9] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:40091 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40091); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40093 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40093); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40095 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40095); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:40097 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40097); + nit_exit(1); + } + fra.me.REG[9] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40100 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40100); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40102 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40102); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + /* ./parser//parser.nit:40103 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:40104 */ + array___Array___add(fra.me.REG[9], fra.me.REG[4]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[9])(fra.me.REG[9]); + /* ./parser//parser.nit:40107 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[9] = fra.me.REG[3]; + /* ./parser//parser.nit:40108 */ + } else { + /* ./parser//parser.nit:40110 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]); + } + fra.me.REG[9] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[9]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:40117 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40117); + nit_exit(1); + } + fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(100); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40127 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1039___init(val_t p0, int* init_table){ + int itpos1043 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1039].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1043]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40129; + fra.me.meth = LOCATE_parser___ReduceAction1039___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40129 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1043] = 1; + return; +} +void parser___ReduceAction1040___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40133; + fra.me.meth = LOCATE_parser___ReduceAction1040___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:40149 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40149); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40151 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40151); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40153 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40153); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:40155 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40155); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:40161 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40161); + nit_exit(1); + } + fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(100); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40171 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1040___init(val_t p0, int* init_table){ + int itpos1044 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1040].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1044]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40173; + fra.me.meth = LOCATE_parser___ReduceAction1040___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40173 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1044] = 1; + return; +} +void parser___ReduceAction1041___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40177; + fra.me.meth = LOCATE_parser___ReduceAction1041___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:40192 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40192); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40194 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40194); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40196 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40196); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:40198 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40198); + nit_exit(1); + } + fra.me.REG[7] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[7]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast nullable ALabel*/; + /* ./parser//parser.nit:40204 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40204); + nit_exit(1); + } + fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(100); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40214 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1041___init(val_t p0, int* init_table){ + int itpos1045 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1041].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1045]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40216; + fra.me.meth = LOCATE_parser___ReduceAction1041___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40216 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1045] = 1; + return; +} +void parser___ReduceAction1042___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40220; + fra.me.meth = LOCATE_parser___ReduceAction1042___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_TKwfor, ID_TKwfor)) /*cast nullable TKwfor*/; + /* ./parser//parser.nit:40234 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40234); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40236 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40236); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40238 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40238); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwdo, ID_TKwdo)) /*cast nullable TKwdo*/; + /* ./parser//parser.nit:40240 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40240); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40242 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40242); + nit_exit(1); + } + fra.me.REG[2] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2], NIT_NULL); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(100); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40252 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1042___init(val_t p0, int* init_table){ + int itpos1046 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1042].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1046]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40254; + fra.me.meth = LOCATE_parser___ReduceAction1042___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40254 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1046] = 1; + return; +} +void parser___ReduceAction1043___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40258; + fra.me.meth = LOCATE_parser___ReduceAction1043___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/; + /* ./parser//parser.nit:40266 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40266); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40268 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40268); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40270 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40270); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(101); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40278 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1043___init(val_t p0, int* init_table){ + int itpos1047 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1043].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1047]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40280; + fra.me.meth = LOCATE_parser___ReduceAction1043___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40280 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1047] = 1; + return; +} +void parser___ReduceAction1044___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40284; + fra.me.meth = LOCATE_parser___ReduceAction1044___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwassert, ID_TKwassert)) /*cast nullable TKwassert*/; + /* ./parser//parser.nit:40293 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40293); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40295 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40295); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40297 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40297); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40299 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40299); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(101); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40307 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1044___init(val_t p0, int* init_table){ + int itpos1048 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1044].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1048]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40309; + fra.me.meth = LOCATE_parser___ReduceAction1044___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40309 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1048] = 1; + return; +} +void parser___ReduceAction1045___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40313; + fra.me.meth = LOCATE_parser___ReduceAction1045___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40318 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40318); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(102); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40320 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1045___init(val_t p0, int* init_table){ + int itpos1049 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1045].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1049]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40322; + fra.me.meth = LOCATE_parser___ReduceAction1045___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40322 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1049] = 1; + return; +} +void parser___ReduceAction1046___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40326; + fra.me.meth = LOCATE_parser___ReduceAction1046___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40338 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40338); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40340 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40340); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40342 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40342); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:40344 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:40345 */ + } else { + /* ./parser//parser.nit:40347 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40351 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40351); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:40353 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:40354 */ + } else { + /* ./parser//parser.nit:40356 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(102); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40366 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1046___init(val_t p0, int* init_table){ + int itpos1050 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1046].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1050]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40368; + fra.me.meth = LOCATE_parser___ReduceAction1046___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40368 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1050] = 1; + return; +} +void parser___ReduceAction1047___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40372; + fra.me.meth = LOCATE_parser___ReduceAction1047___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40383 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40383); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40385 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40385); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:40387 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:40388 */ + } else { + /* ./parser//parser.nit:40390 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40394 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40394); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:40396 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:40397 */ + } else { + /* ./parser//parser.nit:40399 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(102); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40409 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1047___init(val_t p0, int* init_table){ + int itpos1051 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1047].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1051]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40411; + fra.me.meth = LOCATE_parser___ReduceAction1047___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40411 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1051] = 1; + return; +} +void parser___ReduceAction1048___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40415; + fra.me.meth = LOCATE_parser___ReduceAction1048___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40424 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40424); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40426 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40426); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:40428 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:40429 */ + } else { + /* ./parser//parser.nit:40431 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40435 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40435); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:40437 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:40438 */ + } else { + /* ./parser//parser.nit:40440 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(102); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40449 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1048___init(val_t p0, int* init_table){ + int itpos1052 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1048].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1052]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40451; + fra.me.meth = LOCATE_parser___ReduceAction1048___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40451 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1052] = 1; + return; +} +void parser___ReduceAction1049___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40455; + fra.me.meth = LOCATE_parser___ReduceAction1049___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40460 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40460); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(103); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40462 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1049___init(val_t p0, int* init_table){ + int itpos1053 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1049].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1053]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40464; + fra.me.meth = LOCATE_parser___ReduceAction1049___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40464 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1053] = 1; + return; +} +void parser___ReduceAction1050___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40468; + fra.me.meth = LOCATE_parser___ReduceAction1050___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40480 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40480); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40482 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40482); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40484 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40484); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:40486 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:40487 */ + } else { + /* ./parser//parser.nit:40489 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40493 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40493); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:40495 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:40496 */ + } else { + /* ./parser//parser.nit:40498 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(103); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40508 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1050___init(val_t p0, int* init_table){ + int itpos1054 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1050].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1054]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40510; + fra.me.meth = LOCATE_parser___ReduceAction1050___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40510 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1054] = 1; + return; +} +void parser___ReduceAction1051___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40514; + fra.me.meth = LOCATE_parser___ReduceAction1051___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40525 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40525); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40527 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40527); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:40529 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:40530 */ + } else { + /* ./parser//parser.nit:40532 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40536 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40536); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:40538 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:40539 */ + } else { + /* ./parser//parser.nit:40541 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(103); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40551 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1051___init(val_t p0, int* init_table){ + int itpos1055 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1051].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1055]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40553; + fra.me.meth = LOCATE_parser___ReduceAction1051___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40553 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1055] = 1; + return; +} +void parser___ReduceAction1052___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40557; + fra.me.meth = LOCATE_parser___ReduceAction1052___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40562 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40562); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(104); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40564 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1052___init(val_t p0, int* init_table){ + int itpos1056 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1052].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1056]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40566; + fra.me.meth = LOCATE_parser___ReduceAction1052___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40566 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1056] = 1; + return; +} +void parser___ReduceAction1053___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40570; + fra.me.meth = LOCATE_parser___ReduceAction1053___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40582 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40582); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40584 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40584); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40586 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40586); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:40588 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:40589 */ + } else { + /* ./parser//parser.nit:40591 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40595 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40595); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:40597 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:40598 */ + } else { + /* ./parser//parser.nit:40600 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(104); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40610 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1053___init(val_t p0, int* init_table){ + int itpos1057 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1053].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1057]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40612; + fra.me.meth = LOCATE_parser___ReduceAction1053___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40612 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1057] = 1; + return; +} +void parser___ReduceAction1054___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40616; + fra.me.meth = LOCATE_parser___ReduceAction1054___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:40627 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40627); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40629 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40629); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:40631 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:40632 */ + } else { + /* ./parser//parser.nit:40634 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:40638 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40638); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:40640 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:40641 */ + } else { + /* ./parser//parser.nit:40643 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(104); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40653 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1054___init(val_t p0, int* init_table){ + int itpos1058 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1054].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1058]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40655; + fra.me.meth = LOCATE_parser___ReduceAction1054___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40655 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1058] = 1; + return; +} +void parser___ReduceAction1055___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40659; + fra.me.meth = LOCATE_parser___ReduceAction1055___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40664 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40664); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(105); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40666 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1055___init(val_t p0, int* init_table){ + int itpos1059 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1055].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1059]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40668; + fra.me.meth = LOCATE_parser___ReduceAction1055___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40668 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1059] = 1; + return; +} +void parser___ReduceAction1056___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40672; + fra.me.meth = LOCATE_parser___ReduceAction1056___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:40687 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40687); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40689 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40689); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwthen, ID_TKwthen)) /*cast nullable TKwthen*/; + /* ./parser//parser.nit:40691 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40691); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40693 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40693); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwelse, ID_TKwelse)) /*cast nullable TKwelse*/; + /* ./parser//parser.nit:40695 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40695); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40697 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40697); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(105); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40707 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1056___init(val_t p0, int* init_table){ + int itpos1060 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1056].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1060]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40709; + fra.me.meth = LOCATE_parser___ReduceAction1056___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40709 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1060] = 1; + return; +} +void parser___ReduceAction1057___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40713; + fra.me.meth = LOCATE_parser___ReduceAction1057___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40718 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40718); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(106); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40720 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1057___init(val_t p0, int* init_table){ + int itpos1061 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1057].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1061]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40722; + fra.me.meth = LOCATE_parser___ReduceAction1057___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40722 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1061] = 1; + return; +} +void parser___ReduceAction1058___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40726; + fra.me.meth = LOCATE_parser___ReduceAction1058___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40734 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40734); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40736 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40736); + nit_exit(1); + } + fra.me.REG[2] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(106); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40742 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1058___init(val_t p0, int* init_table){ + int itpos1062 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1058].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1062]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40744; + fra.me.meth = LOCATE_parser___ReduceAction1058___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40744 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1062] = 1; + return; +} +void parser___ReduceAction1059___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40748; + fra.me.meth = LOCATE_parser___ReduceAction1059___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40756 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40756); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40758 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40758); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(106); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40764 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1059___init(val_t p0, int* init_table){ + int itpos1063 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1059].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1063]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40766; + fra.me.meth = LOCATE_parser___ReduceAction1059___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40766 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1063] = 1; + return; +} +void parser___ReduceAction1060___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40770; + fra.me.meth = LOCATE_parser___ReduceAction1060___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40775 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40775); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(107); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40777 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1060___init(val_t p0, int* init_table){ + int itpos1064 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1060].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1064]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40779; + fra.me.meth = LOCATE_parser___ReduceAction1060___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40779 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1064] = 1; + return; +} +void parser___ReduceAction1061___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40783; + fra.me.meth = LOCATE_parser___ReduceAction1061___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/; + /* ./parser//parser.nit:40790 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40790); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40792 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40792); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(107); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40798 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1061___init(val_t p0, int* init_table){ + int itpos1065 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1061].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1065]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40800; + fra.me.meth = LOCATE_parser___ReduceAction1061___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40800 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1065] = 1; + return; +} +void parser___ReduceAction1062___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40804; + fra.me.meth = LOCATE_parser___ReduceAction1062___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40809 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40809); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(108); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40811 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1062___init(val_t p0, int* init_table){ + int itpos1066 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1062].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1066]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40813; + fra.me.meth = LOCATE_parser___ReduceAction1062___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40813 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1066] = 1; + return; +} +void parser___ReduceAction1063___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40817; + fra.me.meth = LOCATE_parser___ReduceAction1063___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40825 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40825); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40827 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40827); + nit_exit(1); + } + fra.me.REG[2] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(108); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40833 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1063___init(val_t p0, int* init_table){ + int itpos1067 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1063].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1067]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40835; + fra.me.meth = LOCATE_parser___ReduceAction1063___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40835 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1067] = 1; + return; +} +void parser___ReduceAction1064___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40839; + fra.me.meth = LOCATE_parser___ReduceAction1064___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40847 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40847); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40849 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40849); + nit_exit(1); + } + fra.me.REG[2] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(108); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40855 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1064___init(val_t p0, int* init_table){ + int itpos1068 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1064].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1068]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40857; + fra.me.meth = LOCATE_parser___ReduceAction1064___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40857 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1068] = 1; + return; +} +void parser___ReduceAction1065___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40861; + fra.me.meth = LOCATE_parser___ReduceAction1065___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40869 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40869); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40871 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40871); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(108); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40877 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1065___init(val_t p0, int* init_table){ + int itpos1069 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1065].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1069]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40879; + fra.me.meth = LOCATE_parser___ReduceAction1065___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40879 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1069] = 1; + return; +} +void parser___ReduceAction1066___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40883; + fra.me.meth = LOCATE_parser___ReduceAction1066___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40891 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40891); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40893 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40893); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(108); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40899 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1066___init(val_t p0, int* init_table){ + int itpos1070 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1066].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1070]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40901; + fra.me.meth = LOCATE_parser___ReduceAction1066___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40901 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1070] = 1; + return; +} +void parser___ReduceAction1067___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40905; + fra.me.meth = LOCATE_parser___ReduceAction1067___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40913 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40913); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40915 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40915); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(108); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40921 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1067___init(val_t p0, int* init_table){ + int itpos1071 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1067].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1071]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40923; + fra.me.meth = LOCATE_parser___ReduceAction1067___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40923 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1071] = 1; + return; +} +void parser___ReduceAction1068___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40927; + fra.me.meth = LOCATE_parser___ReduceAction1068___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40935 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40935); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40937 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40937); + nit_exit(1); + } + fra.me.REG[2] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(108); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40943 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1068___init(val_t p0, int* init_table){ + int itpos1072 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1068].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1072]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40945; + fra.me.meth = LOCATE_parser___ReduceAction1068___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40945 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1072] = 1; + return; +} +void parser___ReduceAction1069___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40949; + fra.me.meth = LOCATE_parser___ReduceAction1069___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40957 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40957); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40959 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40959); + nit_exit(1); + } + fra.me.REG[2] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(108); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40965 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1069___init(val_t p0, int* init_table){ + int itpos1073 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1069].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1073]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40967; + fra.me.meth = LOCATE_parser___ReduceAction1069___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40967 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1073] = 1; + return; +} +void parser___ReduceAction1070___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40971; + fra.me.meth = LOCATE_parser___ReduceAction1070___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40979 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40979); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:40981 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 40981); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(108); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:40987 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1070___init(val_t p0, int* init_table){ + int itpos1074 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1070].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1074]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40989; + fra.me.meth = LOCATE_parser___ReduceAction1070___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:40989 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1074] = 1; + return; +} +void parser___ReduceAction1071___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 40993; + fra.me.meth = LOCATE_parser___ReduceAction1071___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41001 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41001); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:41003 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41003); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(108); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41009 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1071___init(val_t p0, int* init_table){ + int itpos1075 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1071].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1075]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41011; + fra.me.meth = LOCATE_parser___ReduceAction1071___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41011 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1075] = 1; + return; +} +void parser___ReduceAction1072___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41015; + fra.me.meth = LOCATE_parser___ReduceAction1072___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41020 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41020); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(109); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41022 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1072___init(val_t p0, int* init_table){ + int itpos1076 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1072].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1076]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41024; + fra.me.meth = LOCATE_parser___ReduceAction1072___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41024 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1076] = 1; + return; +} +void parser___ReduceAction1073___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41028; + fra.me.meth = LOCATE_parser___ReduceAction1073___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41036 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41036); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41038 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41038); + nit_exit(1); + } + fra.me.REG[2] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(109); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41044 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1073___init(val_t p0, int* init_table){ + int itpos1077 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1073].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1077]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41046; + fra.me.meth = LOCATE_parser___ReduceAction1073___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41046 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1077] = 1; + return; +} +void parser___ReduceAction1074___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41050; + fra.me.meth = LOCATE_parser___ReduceAction1074___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41058 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41058); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41060 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41060); + nit_exit(1); + } + fra.me.REG[2] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(109); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41066 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1074___init(val_t p0, int* init_table){ + int itpos1078 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1074].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1078]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41068; + fra.me.meth = LOCATE_parser___ReduceAction1074___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41068 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1078] = 1; + return; +} +void parser___ReduceAction1075___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41072; + fra.me.meth = LOCATE_parser___ReduceAction1075___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41077 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41077); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(110); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41079 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1075___init(val_t p0, int* init_table){ + int itpos1079 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1075].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1079]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41081; + fra.me.meth = LOCATE_parser___ReduceAction1075___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41081 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1079] = 1; + return; +} +void parser___ReduceAction1076___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41085; + fra.me.meth = LOCATE_parser___ReduceAction1076___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41093 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41093); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41095 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41095); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(110); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41101 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1076___init(val_t p0, int* init_table){ + int itpos1080 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1076].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1080]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41103; + fra.me.meth = LOCATE_parser___ReduceAction1076___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41103 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1080] = 1; + return; +} +void parser___ReduceAction1077___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41107; + fra.me.meth = LOCATE_parser___ReduceAction1077___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41115 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41115); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41117 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41117); + nit_exit(1); + } + fra.me.REG[2] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(110); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41123 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1077___init(val_t p0, int* init_table){ + int itpos1081 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1077].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1081]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41125; + fra.me.meth = LOCATE_parser___ReduceAction1077___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41125 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1081] = 1; + return; +} +void parser___ReduceAction1078___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41129; + fra.me.meth = LOCATE_parser___ReduceAction1078___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41137 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41137); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41139 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41139); + nit_exit(1); + } + fra.me.REG[2] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(110); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41145 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1078___init(val_t p0, int* init_table){ + int itpos1082 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1078].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1082]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41147; + fra.me.meth = LOCATE_parser___ReduceAction1078___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41147 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1082] = 1; + return; +} +void parser___ReduceAction1079___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41151; + fra.me.meth = LOCATE_parser___ReduceAction1079___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41156 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41156); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(111); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41158 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1079___init(val_t p0, int* init_table){ + int itpos1083 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1079].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1083]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41160; + fra.me.meth = LOCATE_parser___ReduceAction1079___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41160 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1083] = 1; + return; +} +void parser___ReduceAction1080___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41164; + fra.me.meth = LOCATE_parser___ReduceAction1080___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:41171 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41171); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41173 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41173); + nit_exit(1); + } + fra.me.REG[2] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(111); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41179 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1080___init(val_t p0, int* init_table){ + int itpos1084 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1080].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1084]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41181; + fra.me.meth = LOCATE_parser___ReduceAction1080___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41181 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1084] = 1; + return; +} +void parser___ReduceAction1081___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41185; + fra.me.meth = LOCATE_parser___ReduceAction1081___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwonce, ID_TKwonce)) /*cast nullable TKwonce*/; + /* ./parser//parser.nit:41192 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41192); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41194 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41194); + nit_exit(1); + } + fra.me.REG[2] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(111); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41200 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1081___init(val_t p0, int* init_table){ + int itpos1085 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1081].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1085]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41202; + fra.me.meth = LOCATE_parser___ReduceAction1081___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41202 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1085] = 1; + return; +} +void parser___ReduceAction1082___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41206; + fra.me.meth = LOCATE_parser___ReduceAction1082___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41211 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41211); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(112); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41213 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1082___init(val_t p0, int* init_table){ + int itpos1086 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1082].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1086]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41215; + fra.me.meth = LOCATE_parser___ReduceAction1082___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41215 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1086] = 1; + return; +} +void parser___ReduceAction1083___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41219; + fra.me.meth = LOCATE_parser___ReduceAction1083___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/; + /* ./parser//parser.nit:41228 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41228); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:41230 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41230); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41232 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41232); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:41234 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:41235 */ + } else { + /* ./parser//parser.nit:41237 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(112); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41247 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1083___init(val_t p0, int* init_table){ + int itpos1087 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1083].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1087]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41249; + fra.me.meth = LOCATE_parser___ReduceAction1083___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41249 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1087] = 1; + return; +} +void parser___ReduceAction1084___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41253; + fra.me.meth = LOCATE_parser___ReduceAction1084___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/; + /* ./parser//parser.nit:41262 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41262); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41264 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41264); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:41266 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41266); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(112); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41273 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1084___init(val_t p0, int* init_table){ + int itpos1088 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1084].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1088]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41275; + fra.me.meth = LOCATE_parser___ReduceAction1084___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41275 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1088] = 1; + return; +} +void parser___ReduceAction1085___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41279; + fra.me.meth = LOCATE_parser___ReduceAction1085___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/; + /* ./parser//parser.nit:41285 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41285); + nit_exit(1); + } + fra.me.REG[4] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:41289 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41289); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[3], fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(112); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41296 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1085___init(val_t p0, int* init_table){ + int itpos1089 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1085].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1089]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41298; + fra.me.meth = LOCATE_parser___ReduceAction1085___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41298 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1089] = 1; + return; +} +void parser___ReduceAction1086___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41302; + fra.me.meth = LOCATE_parser___ReduceAction1086___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41310 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41310); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:41312 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41312); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41318 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1086___init(val_t p0, int* init_table){ + int itpos1090 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1086].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1090]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41320; + fra.me.meth = LOCATE_parser___ReduceAction1086___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41320 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1090] = 1; + return; +} +void parser___ReduceAction1087___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41324; + fra.me.meth = LOCATE_parser___ReduceAction1087___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:41331 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41331); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41337 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1087___init(val_t p0, int* init_table){ + int itpos1091 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1087].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1091]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41339; + fra.me.meth = LOCATE_parser___ReduceAction1087___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41339 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1091] = 1; + return; +} +void parser___ReduceAction1088___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41343; + fra.me.meth = LOCATE_parser___ReduceAction1088___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41354 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41354); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:41356 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41356); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41358 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41358); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:41360 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:41361 */ + } else { + /* ./parser//parser.nit:41363 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41373 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1088___init(val_t p0, int* init_table){ + int itpos1092 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1088].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1092]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41375; + fra.me.meth = LOCATE_parser___ReduceAction1088___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41375 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1092] = 1; + return; +} +void parser___ReduceAction1089___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41379; + fra.me.meth = LOCATE_parser___ReduceAction1089___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:41389 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41389); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41391 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41391); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:41393 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:41394 */ + } else { + /* ./parser//parser.nit:41396 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41406 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1089___init(val_t p0, int* init_table){ + int itpos1093 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1089].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1093]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41408; + fra.me.meth = LOCATE_parser___ReduceAction1089___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41408 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1093] = 1; + return; +} +void parser___ReduceAction1090___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41412; + fra.me.meth = LOCATE_parser___ReduceAction1090___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:41419 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41419); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41421 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41421); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:41423 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:41424 */ + } else { + /* ./parser//parser.nit:41426 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41435 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1090___init(val_t p0, int* init_table){ + int itpos1094 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1090].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1094]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41437; + fra.me.meth = LOCATE_parser___ReduceAction1090___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41437 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1094] = 1; + return; +} +void parser___ReduceAction1091___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41441; + fra.me.meth = LOCATE_parser___ReduceAction1091___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/; + /* ./parser//parser.nit:41449 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41449); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:41451 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41451); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41453 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41453); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:41455 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:41456 */ + } else { + /* ./parser//parser.nit:41458 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41467 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1091___init(val_t p0, int* init_table){ + int itpos1095 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1091].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1095]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41469; + fra.me.meth = LOCATE_parser___ReduceAction1091___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41469 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1095] = 1; + return; +} +void parser___ReduceAction1092___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41473; + fra.me.meth = LOCATE_parser___ReduceAction1092___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41483 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41483); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:41485 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41485); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41487 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41487); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:41489 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:41490 */ + } else { + /* ./parser//parser.nit:41492 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41501 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1092___init(val_t p0, int* init_table){ + int itpos1096 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1092].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1096]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41503; + fra.me.meth = LOCATE_parser___ReduceAction1092___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41503 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1096] = 1; + return; +} +void parser___ReduceAction1093___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41507; + fra.me.meth = LOCATE_parser___ReduceAction1093___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + fra.me.REG[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:41516 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41516); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41518 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41518); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:41520 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:41521 */ + } else { + /* ./parser//parser.nit:41523 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41532 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1093___init(val_t p0, int* init_table){ + int itpos1097 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1093].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1097]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41534; + fra.me.meth = LOCATE_parser___ReduceAction1093___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41534 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1097] = 1; + return; +} +void parser___ReduceAction1094___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41538; + fra.me.meth = LOCATE_parser___ReduceAction1094___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/; + /* ./parser//parser.nit:41550 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41550); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:41552 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41552); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:41554 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41554); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41556 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41556); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:41558 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:41559 */ + } else { + /* ./parser//parser.nit:41561 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41571 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1094___init(val_t p0, int* init_table){ + int itpos1098 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1094].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1098]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41573; + fra.me.meth = LOCATE_parser___ReduceAction1094___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41573 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1098] = 1; + return; +} +void parser___ReduceAction1095___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41577; + fra.me.meth = LOCATE_parser___ReduceAction1095___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwself, ID_TKwself)) /*cast nullable TKwself*/; + /* ./parser//parser.nit:41582 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41582); + nit_exit(1); + } + fra.me.REG[2] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41587 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1095___init(val_t p0, int* init_table){ + int itpos1099 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1095].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1099]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41589; + fra.me.meth = LOCATE_parser___ReduceAction1095___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41589 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1099] = 1; + return; +} +void parser___ReduceAction1096___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41593; + fra.me.meth = LOCATE_parser___ReduceAction1096___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwtrue, ID_TKwtrue)) /*cast nullable TKwtrue*/; + /* ./parser//parser.nit:41598 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41598); + nit_exit(1); + } + fra.me.REG[2] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41603 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1096___init(val_t p0, int* init_table){ + int itpos1100 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1096].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1100]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41605; + fra.me.meth = LOCATE_parser___ReduceAction1096___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41605 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1100] = 1; + return; +} +void parser___ReduceAction1097___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41609; + fra.me.meth = LOCATE_parser___ReduceAction1097___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwfalse, ID_TKwfalse)) /*cast nullable TKwfalse*/; + /* ./parser//parser.nit:41614 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41614); + nit_exit(1); + } + fra.me.REG[2] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41619 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1097___init(val_t p0, int* init_table){ + int itpos1101 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1097].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1101]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41621; + fra.me.meth = LOCATE_parser___ReduceAction1097___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41621 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1101] = 1; + return; +} +void parser___ReduceAction1098___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41625; + fra.me.meth = LOCATE_parser___ReduceAction1098___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/; + /* ./parser//parser.nit:41630 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41630); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41635 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1098___init(val_t p0, int* init_table){ + int itpos1102 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1098].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1102]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41637; + fra.me.meth = LOCATE_parser___ReduceAction1098___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41637 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1102] = 1; + return; +} +void parser___ReduceAction1099___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41641; + fra.me.meth = LOCATE_parser___ReduceAction1099___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TNumber, ID_TNumber)) /*cast nullable TNumber*/; + /* ./parser//parser.nit:41646 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41646); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41651 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1099___init(val_t p0, int* init_table){ + int itpos1103 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1099].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1103]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41653; + fra.me.meth = LOCATE_parser___ReduceAction1099___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41653 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1103] = 1; + return; +} +void parser___ReduceAction1100___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41657; + fra.me.meth = LOCATE_parser___ReduceAction1100___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TFloat, ID_TFloat)) /*cast nullable TFloat*/; + /* ./parser//parser.nit:41662 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41662); + nit_exit(1); + } + fra.me.REG[2] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41667 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1100___init(val_t p0, int* init_table){ + int itpos1104 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1100].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1104]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41669; + fra.me.meth = LOCATE_parser___ReduceAction1100___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41669 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1104] = 1; + return; +} +void parser___ReduceAction1101___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41673; + fra.me.meth = LOCATE_parser___ReduceAction1101___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TChar, ID_TChar)) /*cast nullable TChar*/; + /* ./parser//parser.nit:41678 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41678); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41683 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1101___init(val_t p0, int* init_table){ + int itpos1105 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1101].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1105]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41685; + fra.me.meth = LOCATE_parser___ReduceAction1101___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41685 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1105] = 1; + return; +} +void parser___ReduceAction1102___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41689; + fra.me.meth = LOCATE_parser___ReduceAction1102___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:41694 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41694); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41699 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1102___init(val_t p0, int* init_table){ + int itpos1106 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1102].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1106]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41701; + fra.me.meth = LOCATE_parser___ReduceAction1102___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41701 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1106] = 1; + return; +} +void parser___ReduceAction1103___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41705; + fra.me.meth = LOCATE_parser___ReduceAction1103___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41710 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41710); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41712 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1103___init(val_t p0, int* init_table){ + int itpos1107 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1103].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1107]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41714; + fra.me.meth = LOCATE_parser___ReduceAction1103___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41714 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1107] = 1; + return; +} +void parser___ReduceAction1104___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41718; + fra.me.meth = LOCATE_parser___ReduceAction1104___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41732 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41732); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/; + /* ./parser//parser.nit:41734 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41734); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:41736 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41736); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41743 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1104___init(val_t p0, int* init_table){ + int itpos1108 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1104].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1108]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41745; + fra.me.meth = LOCATE_parser___ReduceAction1104___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41745 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1108] = 1; + return; +} +void parser___ReduceAction1105___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41749; + fra.me.meth = LOCATE_parser___ReduceAction1105___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41765 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41765); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/; + /* ./parser//parser.nit:41767 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41767); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/; + /* ./parser//parser.nit:41769 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41769); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/; + /* ./parser//parser.nit:41771 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41771); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(113); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41779 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1105___init(val_t p0, int* init_table){ + int itpos1109 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1105].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1109]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41781; + fra.me.meth = LOCATE_parser___ReduceAction1105___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41781 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1109] = 1; + return; +} +void parser___ReduceAction1106___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41785; + fra.me.meth = LOCATE_parser___ReduceAction1106___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41790 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41790); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(114); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41792 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1106___init(val_t p0, int* init_table){ + int itpos1110 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1106].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1110]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41794; + fra.me.meth = LOCATE_parser___ReduceAction1106___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41794 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1110] = 1; + return; +} +void parser___ReduceAction1107___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41798; + fra.me.meth = LOCATE_parser___ReduceAction1107___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41810 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41810); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:41812 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41812); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41814 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41814); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:41816 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:41817 */ + } else { + /* ./parser//parser.nit:41819 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41823 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41823); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:41825 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:41826 */ + } else { + /* ./parser//parser.nit:41828 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(114); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41838 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1107___init(val_t p0, int* init_table){ + int itpos1111 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1107].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1111]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41840; + fra.me.meth = LOCATE_parser___ReduceAction1107___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41840 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1111] = 1; + return; +} +void parser___ReduceAction1108___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41844; + fra.me.meth = LOCATE_parser___ReduceAction1108___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:41855 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41855); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41857 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41857); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:41859 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:41860 */ + } else { + /* ./parser//parser.nit:41862 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:41866 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41866); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:41868 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:41869 */ + } else { + /* ./parser//parser.nit:41871 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(114); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41881 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1108___init(val_t p0, int* init_table){ + int itpos1112 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1108].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1112]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41883; + fra.me.meth = LOCATE_parser___ReduceAction1108___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41883 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1112] = 1; + return; +} +void parser___ReduceAction1109___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41887; + fra.me.meth = LOCATE_parser___ReduceAction1109___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41892 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41892); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(115); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41894 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1109___init(val_t p0, int* init_table){ + int itpos1113 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1109].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1113]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41896; + fra.me.meth = LOCATE_parser___ReduceAction1109___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41896 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1113] = 1; + return; +} +void parser___ReduceAction1110___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41900; + fra.me.meth = LOCATE_parser___ReduceAction1110___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_TKwif, ID_TKwif)) /*cast nullable TKwif*/; + /* ./parser//parser.nit:41915 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41915); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41917 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41917); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwthen, ID_TKwthen)) /*cast nullable TKwthen*/; + /* ./parser//parser.nit:41919 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41919); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41921 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41921); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwelse, ID_TKwelse)) /*cast nullable TKwelse*/; + /* ./parser//parser.nit:41923 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41923); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41925 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41925); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIfexprExpr_parser_prod___AIfexprExpr___init_aifexprexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(115); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41935 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1110___init(val_t p0, int* init_table){ + int itpos1114 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1110].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1114]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41937; + fra.me.meth = LOCATE_parser___ReduceAction1110___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41937 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1114] = 1; + return; +} +void parser___ReduceAction1111___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41941; + fra.me.meth = LOCATE_parser___ReduceAction1111___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41946 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41946); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(116); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41948 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1111___init(val_t p0, int* init_table){ + int itpos1115 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1111].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1115]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41950; + fra.me.meth = LOCATE_parser___ReduceAction1111___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41950 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1115] = 1; + return; +} +void parser___ReduceAction1112___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41954; + fra.me.meth = LOCATE_parser___ReduceAction1112___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41962 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41962); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41964 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41964); + nit_exit(1); + } + fra.me.REG[2] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(116); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41970 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1112___init(val_t p0, int* init_table){ + int itpos1116 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1112].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1116]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41972; + fra.me.meth = LOCATE_parser___ReduceAction1112___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41972 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1116] = 1; + return; +} +void parser___ReduceAction1113___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41976; + fra.me.meth = LOCATE_parser___ReduceAction1113___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41984 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41984); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:41986 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 41986); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(116); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:41992 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1113___init(val_t p0, int* init_table){ + int itpos1117 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1113].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1117]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41994; + fra.me.meth = LOCATE_parser___ReduceAction1113___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:41994 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1117] = 1; + return; +} +void parser___ReduceAction1114___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 41998; + fra.me.meth = LOCATE_parser___ReduceAction1114___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42003 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42003); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(117); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42005 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1114___init(val_t p0, int* init_table){ + int itpos1118 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1114].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1118]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42007; + fra.me.meth = LOCATE_parser___ReduceAction1114___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42007 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1118] = 1; + return; +} +void parser___ReduceAction1115___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42011; + fra.me.meth = LOCATE_parser___ReduceAction1115___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/; + /* ./parser//parser.nit:42018 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42018); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42020 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42020); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(117); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42026 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1115___init(val_t p0, int* init_table){ + int itpos1119 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1115].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1119]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42028; + fra.me.meth = LOCATE_parser___ReduceAction1115___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42028 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1119] = 1; + return; +} +void parser___ReduceAction1116___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42032; + fra.me.meth = LOCATE_parser___ReduceAction1116___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42037 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42037); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(118); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42039 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1116___init(val_t p0, int* init_table){ + int itpos1120 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1116].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1120]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42041; + fra.me.meth = LOCATE_parser___ReduceAction1116___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42041 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1120] = 1; + return; +} +void parser___ReduceAction1117___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42045; + fra.me.meth = LOCATE_parser___ReduceAction1117___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42053 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42053); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42055 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42055); + nit_exit(1); + } + fra.me.REG[2] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(118); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42061 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1117___init(val_t p0, int* init_table){ + int itpos1121 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1117].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1121]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42063; + fra.me.meth = LOCATE_parser___ReduceAction1117___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42063 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1121] = 1; + return; +} +void parser___ReduceAction1118___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42067; + fra.me.meth = LOCATE_parser___ReduceAction1118___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42075 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42075); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42077 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42077); + nit_exit(1); + } + fra.me.REG[2] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(118); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42083 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1118___init(val_t p0, int* init_table){ + int itpos1122 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1118].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1122]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42085; + fra.me.meth = LOCATE_parser___ReduceAction1118___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42085 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1122] = 1; + return; +} +void parser___ReduceAction1119___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42089; + fra.me.meth = LOCATE_parser___ReduceAction1119___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42097 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42097); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42099 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42099); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(118); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42105 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1119___init(val_t p0, int* init_table){ + int itpos1123 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1119].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1123]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42107; + fra.me.meth = LOCATE_parser___ReduceAction1119___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42107 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1123] = 1; + return; +} +void parser___ReduceAction1120___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42111; + fra.me.meth = LOCATE_parser___ReduceAction1120___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42119 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42119); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42121 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42121); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(118); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42127 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1120___init(val_t p0, int* init_table){ + int itpos1124 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1120].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1124]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42129; + fra.me.meth = LOCATE_parser___ReduceAction1120___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42129 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1124] = 1; + return; +} +void parser___ReduceAction1121___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42133; + fra.me.meth = LOCATE_parser___ReduceAction1121___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42141 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42141); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42143 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42143); + nit_exit(1); + } + fra.me.REG[2] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(118); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42149 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1121___init(val_t p0, int* init_table){ + int itpos1125 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1121].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1125]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42151; + fra.me.meth = LOCATE_parser___ReduceAction1121___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42151 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1125] = 1; + return; +} +void parser___ReduceAction1122___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42155; + fra.me.meth = LOCATE_parser___ReduceAction1122___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42163 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42163); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42165 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42165); + nit_exit(1); + } + fra.me.REG[2] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(118); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42171 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1122___init(val_t p0, int* init_table){ + int itpos1126 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1122].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1126]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42173; + fra.me.meth = LOCATE_parser___ReduceAction1122___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42173 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1126] = 1; + return; +} +void parser___ReduceAction1123___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42177; + fra.me.meth = LOCATE_parser___ReduceAction1123___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42185 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42185); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42187 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42187); + nit_exit(1); + } + fra.me.REG[2] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(118); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42193 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1123___init(val_t p0, int* init_table){ + int itpos1127 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1123].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1127]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42195; + fra.me.meth = LOCATE_parser___ReduceAction1123___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42195 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1127] = 1; + return; +} +void parser___ReduceAction1124___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42199; + fra.me.meth = LOCATE_parser___ReduceAction1124___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42207 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42207); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42209 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42209); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(118); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42215 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1124___init(val_t p0, int* init_table){ + int itpos1128 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1124].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1128]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42217; + fra.me.meth = LOCATE_parser___ReduceAction1124___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42217 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1128] = 1; + return; +} +void parser___ReduceAction1125___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42221; + fra.me.meth = LOCATE_parser___ReduceAction1125___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42229 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42229); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:42231 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42231); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(118); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42237 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1125___init(val_t p0, int* init_table){ + int itpos1129 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1125].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1129]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42239; + fra.me.meth = LOCATE_parser___ReduceAction1125___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42239 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1129] = 1; + return; +} +void parser___ReduceAction1126___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42243; + fra.me.meth = LOCATE_parser___ReduceAction1126___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42248 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42248); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(119); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42250 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1126___init(val_t p0, int* init_table){ + int itpos1130 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1126].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1130]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42252; + fra.me.meth = LOCATE_parser___ReduceAction1126___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42252 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1130] = 1; + return; +} +void parser___ReduceAction1127___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42256; + fra.me.meth = LOCATE_parser___ReduceAction1127___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42264 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42264); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42266 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42266); + nit_exit(1); + } + fra.me.REG[2] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(119); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42272 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1127___init(val_t p0, int* init_table){ + int itpos1131 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1127].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1131]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42274; + fra.me.meth = LOCATE_parser___ReduceAction1127___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42274 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1131] = 1; + return; +} +void parser___ReduceAction1128___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42278; + fra.me.meth = LOCATE_parser___ReduceAction1128___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42286 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42286); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42288 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42288); + nit_exit(1); + } + fra.me.REG[2] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(119); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42294 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1128___init(val_t p0, int* init_table){ + int itpos1132 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1128].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1132]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42296; + fra.me.meth = LOCATE_parser___ReduceAction1128___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42296 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1132] = 1; + return; +} +void parser___ReduceAction1129___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42300; + fra.me.meth = LOCATE_parser___ReduceAction1129___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42305 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42305); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(120); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42307 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1129___init(val_t p0, int* init_table){ + int itpos1133 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1129].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1133]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42309; + fra.me.meth = LOCATE_parser___ReduceAction1129___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42309 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1133] = 1; + return; +} +void parser___ReduceAction1130___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42313; + fra.me.meth = LOCATE_parser___ReduceAction1130___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42321 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42321); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42323 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42323); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(120); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42329 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1130___init(val_t p0, int* init_table){ + int itpos1134 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1130].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1134]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42331; + fra.me.meth = LOCATE_parser___ReduceAction1130___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42331 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1134] = 1; + return; +} +void parser___ReduceAction1131___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42335; + fra.me.meth = LOCATE_parser___ReduceAction1131___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42343 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42343); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42345 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42345); + nit_exit(1); + } + fra.me.REG[2] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(120); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42351 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1131___init(val_t p0, int* init_table){ + int itpos1135 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1131].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1135]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42353; + fra.me.meth = LOCATE_parser___ReduceAction1131___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42353 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1135] = 1; + return; +} +void parser___ReduceAction1132___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42357; + fra.me.meth = LOCATE_parser___ReduceAction1132___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42365 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42365); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42367 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42367); + nit_exit(1); + } + fra.me.REG[2] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(120); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42373 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1132___init(val_t p0, int* init_table){ + int itpos1136 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1132].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1136]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42375; + fra.me.meth = LOCATE_parser___ReduceAction1132___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42375 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1136] = 1; + return; +} +void parser___ReduceAction1133___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42379; + fra.me.meth = LOCATE_parser___ReduceAction1133___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42384 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42384); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(121); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42386 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1133___init(val_t p0, int* init_table){ + int itpos1137 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1133].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1137]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42388; + fra.me.meth = LOCATE_parser___ReduceAction1133___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42388 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1137] = 1; + return; +} +void parser___ReduceAction1134___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42392; + fra.me.meth = LOCATE_parser___ReduceAction1134___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TMinus, ID_TMinus)) /*cast nullable TMinus*/; + /* ./parser//parser.nit:42399 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42399); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42401 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42401); + nit_exit(1); + } + fra.me.REG[2] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(121); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42407 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1134___init(val_t p0, int* init_table){ + int itpos1138 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1134].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1138]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42409; + fra.me.meth = LOCATE_parser___ReduceAction1134___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42409 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1138] = 1; + return; +} +void parser___ReduceAction1135___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42413; + fra.me.meth = LOCATE_parser___ReduceAction1135___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwonce, ID_TKwonce)) /*cast nullable TKwonce*/; + /* ./parser//parser.nit:42420 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42420); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42422 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42422); + nit_exit(1); + } + fra.me.REG[2] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(121); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42428 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1135___init(val_t p0, int* init_table){ + int itpos1139 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1135].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1139]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42430; + fra.me.meth = LOCATE_parser___ReduceAction1135___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42430 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1139] = 1; + return; +} +void parser___ReduceAction1136___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42434; + fra.me.meth = LOCATE_parser___ReduceAction1136___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42439 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42439); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(122); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42441 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1136___init(val_t p0, int* init_table){ + int itpos1140 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1136].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1140]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42443; + fra.me.meth = LOCATE_parser___ReduceAction1136___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42443 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1140] = 1; + return; +} +void parser___ReduceAction1137___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42447; + fra.me.meth = LOCATE_parser___ReduceAction1137___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/; + /* ./parser//parser.nit:42456 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42456); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:42458 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42458); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:42460 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42460); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:42462 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:42463 */ + } else { + /* ./parser//parser.nit:42465 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(122); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42475 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1137___init(val_t p0, int* init_table){ + int itpos1141 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1137].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1141]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42477; + fra.me.meth = LOCATE_parser___ReduceAction1137___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42477 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1141] = 1; + return; +} +void parser___ReduceAction1138___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42481; + fra.me.meth = LOCATE_parser___ReduceAction1138___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwisset, ID_TKwisset)) /*cast nullable TKwisset*/; + /* ./parser//parser.nit:42488 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42488); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42490 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42490); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:42492 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42492); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(122); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42499 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1138___init(val_t p0, int* init_table){ + int itpos1142 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1138].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1142]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42501; + fra.me.meth = LOCATE_parser___ReduceAction1138___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42501 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1142] = 1; + return; +} +void parser___ReduceAction1139___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42505; + fra.me.meth = LOCATE_parser___ReduceAction1139___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42511 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42511); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast nullable TAttrid*/; + /* ./parser//parser.nit:42513 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42513); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42519 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1139___init(val_t p0, int* init_table){ + int itpos1143 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1139].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1143]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42521; + fra.me.meth = LOCATE_parser___ReduceAction1139___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42521 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1143] = 1; + return; +} +void parser___ReduceAction1140___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42525; + fra.me.meth = LOCATE_parser___ReduceAction1140___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42534 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42534); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:42536 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42536); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:42538 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42538); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:42540 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:42541 */ + } else { + /* ./parser//parser.nit:42543 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42553 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1140___init(val_t p0, int* init_table){ + int itpos1144 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1140].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1144]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42555; + fra.me.meth = LOCATE_parser___ReduceAction1140___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42555 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1144] = 1; + return; +} +void parser___ReduceAction1141___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42559; + fra.me.meth = LOCATE_parser___ReduceAction1141___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:42566 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42566); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:42568 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42568); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:42570 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:42571 */ + } else { + /* ./parser//parser.nit:42573 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[4] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42582 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1141___init(val_t p0, int* init_table){ + int itpos1145 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1141].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1145]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42584; + fra.me.meth = LOCATE_parser___ReduceAction1141___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42584 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1145] = 1; + return; +} +void parser___ReduceAction1142___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42588; + fra.me.meth = LOCATE_parser___ReduceAction1142___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AQualified, ID_AQualified)) /*cast nullable AQualified*/; + /* ./parser//parser.nit:42596 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42596); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwsuper, ID_TKwsuper)) /*cast nullable TKwsuper*/; + /* ./parser//parser.nit:42598 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42598); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:42600 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42600); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:42602 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:42603 */ + } else { + /* ./parser//parser.nit:42605 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42614 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1142___init(val_t p0, int* init_table){ + int itpos1146 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1142].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1146]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42616; + fra.me.meth = LOCATE_parser___ReduceAction1142___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42616 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1146] = 1; + return; +} +void parser___ReduceAction1143___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42620; + fra.me.meth = LOCATE_parser___ReduceAction1143___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42628 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42628); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwinit, ID_TKwinit)) /*cast nullable TKwinit*/; + /* ./parser//parser.nit:42630 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42630); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:42632 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42632); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:42634 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[2]; + /* ./parser//parser.nit:42635 */ + } else { + /* ./parser//parser.nit:42637 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); + } + fra.me.REG[5] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]); + fra.me.REG[0] = fra.me.REG[5]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42646 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1143___init(val_t p0, int* init_table){ + int itpos1147 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1143].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1147]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42648; + fra.me.meth = LOCATE_parser___ReduceAction1143___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42648 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1147] = 1; + return; +} +void parser___ReduceAction1144___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42652; + fra.me.meth = LOCATE_parser___ReduceAction1144___action; + fra.me.has_broke = 0; + fra.me.REG_size = 7; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_TKwnew, ID_TKwnew)) /*cast nullable TKwnew*/; + /* ./parser//parser.nit:42664 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42664); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:42666 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42666); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:42668 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42668); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:42670 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42670); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:42672 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:42673 */ + } else { + /* ./parser//parser.nit:42675 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42685 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1144___init(val_t p0, int* init_table){ + int itpos1148 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1144].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1148]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42687; + fra.me.meth = LOCATE_parser___ReduceAction1144___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42687 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1148] = 1; + return; +} +void parser___ReduceAction1145___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42691; + fra.me.meth = LOCATE_parser___ReduceAction1145___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwself, ID_TKwself)) /*cast nullable TKwself*/; + /* ./parser//parser.nit:42696 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42696); + nit_exit(1); + } + fra.me.REG[2] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42701 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1145___init(val_t p0, int* init_table){ + int itpos1149 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1145].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1149]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42703; + fra.me.meth = LOCATE_parser___ReduceAction1145___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42703 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1149] = 1; + return; +} +void parser___ReduceAction1146___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42707; + fra.me.meth = LOCATE_parser___ReduceAction1146___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwtrue, ID_TKwtrue)) /*cast nullable TKwtrue*/; + /* ./parser//parser.nit:42712 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42712); + nit_exit(1); + } + fra.me.REG[2] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42717 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1146___init(val_t p0, int* init_table){ + int itpos1150 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1146].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1150]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42719; + fra.me.meth = LOCATE_parser___ReduceAction1146___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42719 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1150] = 1; + return; +} +void parser___ReduceAction1147___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42723; + fra.me.meth = LOCATE_parser___ReduceAction1147___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwfalse, ID_TKwfalse)) /*cast nullable TKwfalse*/; + /* ./parser//parser.nit:42728 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42728); + nit_exit(1); + } + fra.me.REG[2] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42733 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1147___init(val_t p0, int* init_table){ + int itpos1151 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1147].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1151]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42735; + fra.me.meth = LOCATE_parser___ReduceAction1147___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42735 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1151] = 1; + return; +} +void parser___ReduceAction1148___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42739; + fra.me.meth = LOCATE_parser___ReduceAction1148___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/; + /* ./parser//parser.nit:42744 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42744); + nit_exit(1); + } + fra.me.REG[2] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42749 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1148___init(val_t p0, int* init_table){ + int itpos1152 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1148].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1152]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42751; + fra.me.meth = LOCATE_parser___ReduceAction1148___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42751 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1152] = 1; + return; +} +void parser___ReduceAction1149___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42755; + fra.me.meth = LOCATE_parser___ReduceAction1149___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TNumber, ID_TNumber)) /*cast nullable TNumber*/; + /* ./parser//parser.nit:42760 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42760); + nit_exit(1); + } + fra.me.REG[2] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42765 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1149___init(val_t p0, int* init_table){ + int itpos1153 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1149].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1153]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42767; + fra.me.meth = LOCATE_parser___ReduceAction1149___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42767 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1153] = 1; + return; +} +void parser___ReduceAction1150___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42771; + fra.me.meth = LOCATE_parser___ReduceAction1150___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TFloat, ID_TFloat)) /*cast nullable TFloat*/; + /* ./parser//parser.nit:42776 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42776); + nit_exit(1); + } + fra.me.REG[2] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42781 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1150___init(val_t p0, int* init_table){ + int itpos1154 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1150].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1154]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42783; + fra.me.meth = LOCATE_parser___ReduceAction1150___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42783 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1154] = 1; + return; +} +void parser___ReduceAction1151___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42787; + fra.me.meth = LOCATE_parser___ReduceAction1151___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TChar, ID_TChar)) /*cast nullable TChar*/; + /* ./parser//parser.nit:42792 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42792); + nit_exit(1); + } + fra.me.REG[2] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42797 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1151___init(val_t p0, int* init_table){ + int itpos1155 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1151].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1155]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42799; + fra.me.meth = LOCATE_parser___ReduceAction1151___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42799 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1155] = 1; + return; +} +void parser___ReduceAction1152___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42803; + fra.me.meth = LOCATE_parser___ReduceAction1152___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast nullable TString*/; + /* ./parser//parser.nit:42808 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42808); + nit_exit(1); + } + fra.me.REG[2] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr(fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42813 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1152___init(val_t p0, int* init_table){ + int itpos1156 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1152].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1156]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42815; + fra.me.meth = LOCATE_parser___ReduceAction1152___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42815 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1156] = 1; + return; +} +void parser___ReduceAction1153___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42819; + fra.me.meth = LOCATE_parser___ReduceAction1153___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42824 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42824); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42826 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1153___init(val_t p0, int* init_table){ + int itpos1157 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1153].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1157]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42828; + fra.me.meth = LOCATE_parser___ReduceAction1153___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42828 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1157] = 1; + return; +} +void parser___ReduceAction1154___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42832; + fra.me.meth = LOCATE_parser___ReduceAction1154___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42846 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42846); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/; + /* ./parser//parser.nit:42848 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42848); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:42850 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42850); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42857 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1154___init(val_t p0, int* init_table){ + int itpos1158 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1154].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1158]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42859; + fra.me.meth = LOCATE_parser___ReduceAction1154___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42859 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1158] = 1; + return; +} +void parser___ReduceAction1155___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42863; + fra.me.meth = LOCATE_parser___ReduceAction1155___action; + fra.me.has_broke = 0; + fra.me.REG_size = 6; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42879 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42879); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TKwas, ID_TKwas)) /*cast nullable TKwas*/; + /* ./parser//parser.nit:42881 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42881); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_TKwnot, ID_TKwnot)) /*cast nullable TKwnot*/; + /* ./parser//parser.nit:42883 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42883); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast nullable TKwnull*/; + /* ./parser//parser.nit:42885 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42885); + nit_exit(1); + } + fra.me.REG[2] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(123); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42893 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1155___init(val_t p0, int* init_table){ + int itpos1159 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1155].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1159]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42895; + fra.me.meth = LOCATE_parser___ReduceAction1155___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42895 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1159] = 1; + return; +} +void parser___ReduceAction1156___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42899; + fra.me.meth = LOCATE_parser___ReduceAction1156___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42906 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42906); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(124); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42908 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1156___init(val_t p0, int* init_table){ + int itpos1160 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1156].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1160]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42910; + fra.me.meth = LOCATE_parser___ReduceAction1156___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42910 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1160] = 1; + return; +} +void parser___ReduceAction1157___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42914; + fra.me.meth = LOCATE_parser___ReduceAction1157___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(124); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42920 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1157___init(val_t p0, int* init_table){ + int itpos1161 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1157].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1161]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42922; + fra.me.meth = LOCATE_parser___ReduceAction1157___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42922 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1161] = 1; + return; +} +void parser___ReduceAction1158___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42926; + fra.me.meth = LOCATE_parser___ReduceAction1158___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42931 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42931); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(125); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42933 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1158___init(val_t p0, int* init_table){ + int itpos1162 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1158].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1162]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42935; + fra.me.meth = LOCATE_parser___ReduceAction1158___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42935 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1162] = 1; + return; +} +void parser___ReduceAction1159___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42939; + fra.me.meth = LOCATE_parser___ReduceAction1159___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:42951 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42951); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:42953 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42953); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:42955 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42955); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:42957 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:42958 */ + } else { + /* ./parser//parser.nit:42960 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:42964 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42964); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:42966 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:42967 */ + } else { + /* ./parser//parser.nit:42969 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(125); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:42979 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1159___init(val_t p0, int* init_table){ + int itpos1163 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1159].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1163]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42981; + fra.me.meth = LOCATE_parser___ReduceAction1159___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:42981 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1163] = 1; + return; +} +void parser___ReduceAction1160___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 42985; + fra.me.meth = LOCATE_parser___ReduceAction1160___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:42996 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42996); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:42998 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 42998); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:43000 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:43001 */ + } else { + /* ./parser//parser.nit:43003 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43007 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43007); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:43009 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:43010 */ + } else { + /* ./parser//parser.nit:43012 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(125); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43022 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1160___init(val_t p0, int* init_table){ + int itpos1164 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1160].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1164]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43024; + fra.me.meth = LOCATE_parser___ReduceAction1160___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43024 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1164] = 1; + return; +} +void parser___ReduceAction1161___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43028; + fra.me.meth = LOCATE_parser___ReduceAction1161___action; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:43033 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43033); + nit_exit(1); + } + fra.me.REG[0] = fra.me.REG[2]; + REGB0 = TAG_Int(126); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43035 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1161___init(val_t p0, int* init_table){ + int itpos1165 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1161].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1165]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43037; + fra.me.meth = LOCATE_parser___ReduceAction1161___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43037 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1165] = 1; + return; +} +void parser___ReduceAction1162___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43041; + fra.me.meth = LOCATE_parser___ReduceAction1162___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:43053 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43053); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:43055 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43055); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43057 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43057); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:43059 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[3]; + /* ./parser//parser.nit:43060 */ + } else { + /* ./parser//parser.nit:43062 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43066 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43066); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]); + /* ./parser//parser.nit:43068 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[7] = fra.me.REG[2]; + /* ./parser//parser.nit:43069 */ + } else { + /* ./parser//parser.nit:43071 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]); + } + fra.me.REG[7] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[0] = fra.me.REG[7]; + REGB0 = TAG_Int(126); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43081 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1162___init(val_t p0, int* init_table){ + int itpos1166 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1162].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1166]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43083; + fra.me.meth = LOCATE_parser___ReduceAction1162___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43083 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1166] = 1; + return; +} +void parser___ReduceAction1163___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[7];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43087; + fra.me.meth = LOCATE_parser___ReduceAction1163___action; + fra.me.has_broke = 0; + fra.me.REG_size = 8; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[5] = NIT_NULL; + fra.me.REG[6] = NIT_NULL; + fra.me.REG[7] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[5] = NEW_Array_array___Array___init(); + fra.me.REG[6] = NEW_Array_array___Array___init(); + fra.me.REG[7] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(); + REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:43098 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43098); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43100 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43100); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]); + /* ./parser//parser.nit:43102 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[5] = fra.me.REG[3]; + /* ./parser//parser.nit:43103 */ + } else { + /* ./parser//parser.nit:43105 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43109 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43109); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[6])(fra.me.REG[6]); + /* ./parser//parser.nit:43111 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[6] = fra.me.REG[2]; + /* ./parser//parser.nit:43112 */ + } else { + /* ./parser//parser.nit:43114 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]); + } + fra.me.REG[6] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[0] = fra.me.REG[6]; + REGB0 = TAG_Int(126); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43124 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1163___init(val_t p0, int* init_table){ + int itpos1167 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1163].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1167]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43126; + fra.me.meth = LOCATE_parser___ReduceAction1163___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43126 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1167] = 1; + return; +} +void parser___ReduceAction1164___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43130; + fra.me.meth = LOCATE_parser___ReduceAction1164___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AImport, ID_AImport)) /*cast nullable AImport*/; + /* ./parser//parser.nit:43136 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43136); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43137 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43138 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(127); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43141 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1164___init(val_t p0, int* init_table){ + int itpos1168 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1164].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1168]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43143; + fra.me.meth = LOCATE_parser___ReduceAction1164___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43143 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1168] = 1; + return; +} +void parser___ReduceAction1165___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43147; + fra.me.meth = LOCATE_parser___ReduceAction1165___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43154 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43154); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AImport, ID_AImport)) /*cast nullable AImport*/; + /* ./parser//parser.nit:43156 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43156); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43158 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43159 */ + } else { + /* ./parser//parser.nit:43161 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43164 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43165 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(127); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43168 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1165___init(val_t p0, int* init_table){ + int itpos1169 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1165].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1169]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43170; + fra.me.meth = LOCATE_parser___ReduceAction1165___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43170 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1169] = 1; + return; +} +void parser___ReduceAction1166___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43174; + fra.me.meth = LOCATE_parser___ReduceAction1166___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:43180 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43180); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43181 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43182 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(128); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43185 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1166___init(val_t p0, int* init_table){ + int itpos1170 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1166].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1170]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43187; + fra.me.meth = LOCATE_parser___ReduceAction1166___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43187 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1170] = 1; + return; +} +void parser___ReduceAction1167___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43191; + fra.me.meth = LOCATE_parser___ReduceAction1167___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43198 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43198); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; + /* ./parser//parser.nit:43200 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43200); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43202 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43203 */ + } else { + /* ./parser//parser.nit:43205 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43208 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43209 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(128); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43212 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1167___init(val_t p0, int* init_table){ + int itpos1171 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1167].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1171]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43214; + fra.me.meth = LOCATE_parser___ReduceAction1167___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43214 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1171] = 1; + return; +} +void parser___ReduceAction1168___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43218; + fra.me.meth = LOCATE_parser___ReduceAction1168___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASuperclass, ID_ASuperclass)) /*cast nullable ASuperclass*/; + /* ./parser//parser.nit:43224 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43224); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43225 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ppropdefnode2*/ == NIT_NULL /*null*/) || (( variable6 /*ppropdefnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ppropdefnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ppropdefnode2*/, NIT_NULL /*null*/) /*PPropdef::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*ppropdefnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(107)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction552___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction552::init (src/parser//parser.nit:17043,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction552].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction553___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction553::action (src/parser//parser.nit:17047,2--17058:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17053,6--34\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pparamnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pparamnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pparamnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pparamnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pparamnode1*/, NIT_NULL /*null*/) /*PParam::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pparamnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(108)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction553___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction553::init (src/parser//parser.nit:17060,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction553].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction554___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction554::action (src/parser//parser.nit:17064,2--17085:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17071,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*pparamnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pparamnode2*/, COLOR_PParam, ID_PParam)) /*cast PParam*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17073,6--34\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43226 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(129); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43229 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1168___init(val_t p0, int* init_table){ + int itpos1172 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1168].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1172]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43231; + fra.me.meth = LOCATE_parser___ReduceAction1168___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43231 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1172] = 1; + return; +} +void parser___ReduceAction1169___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43235; + fra.me.meth = LOCATE_parser___ReduceAction1169___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43242 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43242); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_ASuperclass, ID_ASuperclass)) /*cast nullable ASuperclass*/; + /* ./parser//parser.nit:43244 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43244); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43246 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43247 */ + } else { + /* ./parser//parser.nit:43249 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43252 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43253 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(129); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43256 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1169___init(val_t p0, int* init_table){ + int itpos1173 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1169].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1173]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43258; + fra.me.meth = LOCATE_parser___ReduceAction1169___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43258 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1173] = 1; + return; +} +void parser___ReduceAction1170___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43262; + fra.me.meth = LOCATE_parser___ReduceAction1170___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/; + /* ./parser//parser.nit:43268 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43268); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43269 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pparamnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pparamnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pparamnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pparamnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pparamnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pparamnode2*/, NIT_NULL /*null*/) /*PParam::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pparamnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(108)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction554___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction554::init (src/parser//parser.nit:17087,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction554].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction555___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction555::action (src/parser//parser.nit:17091,2--17102:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable4 /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17097,6--32\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*ptypenode1*/ == NIT_NULL /*null*/) || (( variable4 /*ptypenode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*ptypenode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*ptypenode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*ptypenode1*/, NIT_NULL /*null*/) /*PType::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*ptypenode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(109)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction555___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction555::init (src/parser//parser.nit:17104,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction555].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction556___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction556::action (src/parser//parser.nit:17108,2--17129:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17115,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*ptypenode2*/==NIT_NULL) || VAL_ISA( variable6 /*ptypenode2*/, COLOR_PType, ID_PType)) /*cast PType*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17117,6--32\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43270 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(130); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43273 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1170___init(val_t p0, int* init_table){ + int itpos1174 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1170].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1174]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43275; + fra.me.meth = LOCATE_parser___ReduceAction1170___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43275 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1174] = 1; + return; +} +void parser___ReduceAction1171___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43279; + fra.me.meth = LOCATE_parser___ReduceAction1171___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43286 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43286); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AFormaldef, ID_AFormaldef)) /*cast nullable AFormaldef*/; + /* ./parser//parser.nit:43288 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43288); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43290 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43291 */ + } else { + /* ./parser//parser.nit:43293 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43296 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*ptypenode2*/ == NIT_NULL /*null*/) || (( variable6 /*ptypenode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*ptypenode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*ptypenode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*ptypenode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*ptypenode2*/, NIT_NULL /*null*/) /*PType::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*ptypenode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(109)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction556___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction556::init (src/parser//parser.nit:17131,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction556].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction557___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction557::action (src/parser//parser.nit:17135,2--17146:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17141,6--32\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pexprnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(110)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction557___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction557::init (src/parser//parser.nit:17148,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction557].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction558___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction558::action (src/parser//parser.nit:17152,2--17173:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17159,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17161,6--32\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43297 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(130); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43300 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1171___init(val_t p0, int* init_table){ + int itpos1175 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1171].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1175]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43302; + fra.me.meth = LOCATE_parser___ReduceAction1171___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43302 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1175] = 1; + return; +} +void parser___ReduceAction1172___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43306; + fra.me.meth = LOCATE_parser___ReduceAction1172___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:43312 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43312); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43313 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pexprnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(110)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction558___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction558::init (src/parser//parser.nit:17175,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction558].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction559___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction559::action (src/parser//parser.nit:17179,2--17194:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*listnode1*/==NIT_NULL) || VAL_ISA( variable4 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17185,6--38\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*listnode1*/ == NIT_NULL /*null*/) || (( variable4 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable4 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable5)) { /*if*/ - variable5 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*listnode2*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable5)) { /*if*/ - variable3 = variable4 /*listnode1*/ /*listnode2=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___IndexedCollection___append))( variable3 /*listnode2*/, variable4 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43314 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(131); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43317 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1172___init(val_t p0, int* init_table){ + int itpos1176 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1172].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1176]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43319; + fra.me.meth = LOCATE_parser___ReduceAction1172___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43319 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1176] = 1; + return; +} +void parser___ReduceAction1173___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43323; + fra.me.meth = LOCATE_parser___ReduceAction1173___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43330 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43330); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:43332 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43332); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43334 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43335 */ + } else { + /* ./parser//parser.nit:43337 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43340 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(111)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction559___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction559::init (src/parser//parser.nit:17196,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction559].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction560___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction560::action (src/parser//parser.nit:17200,2--17225:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17207,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*listnode2*/==NIT_NULL) || VAL_ISA( variable6 /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17209,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43341 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(131); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43344 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1173___init(val_t p0, int* init_table){ + int itpos1177 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1173].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1177]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43346; + fra.me.meth = LOCATE_parser___ReduceAction1173___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43346 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1177] = 1; + return; +} +void parser___ReduceAction1174___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43350; + fra.me.meth = LOCATE_parser___ReduceAction1174___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/; + /* ./parser//parser.nit:43356 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43356); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43357 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*listnode2*/ == NIT_NULL /*null*/) || (( variable6 /*listnode2*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable6 /*listnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*listnode2*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*listnode2*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable6 /*listnode2*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43358 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(132); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43361 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1174___init(val_t p0, int* init_table){ + int itpos1178 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1174].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1178]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43363; + fra.me.meth = LOCATE_parser___ReduceAction1174___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43363 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1178] = 1; + return; +} +void parser___ReduceAction1175___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43367; + fra.me.meth = LOCATE_parser___ReduceAction1175___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43374 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43374); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AParam, ID_AParam)) /*cast nullable AParam*/; + /* ./parser//parser.nit:43376 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43376); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43378 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43379 */ + } else { + /* ./parser//parser.nit:43381 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43384 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(111)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction560___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction560::init (src/parser//parser.nit:17227,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction560].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction561___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction561::action (src/parser//parser.nit:17231,2--17242:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable4 /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17237,6--32\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*pexprnode1*/ == NIT_NULL /*null*/) || (( variable4 /*pexprnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*pexprnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*pexprnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*pexprnode1*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*pexprnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(112)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction561___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction561::init (src/parser//parser.nit:17244,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction561].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction562___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction562::action (src/parser//parser.nit:17248,2--17269:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17255,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable6 /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17257,6--32\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43385 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(132); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43388 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1175___init(val_t p0, int* init_table){ + int itpos1179 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1175].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1179]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43390; + fra.me.meth = LOCATE_parser___ReduceAction1175___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43390 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1179] = 1; + return; +} +void parser___ReduceAction1176___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43394; + fra.me.meth = LOCATE_parser___ReduceAction1176___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClosureDecl, ID_AClosureDecl)) /*cast nullable AClosureDecl*/; + /* ./parser//parser.nit:43400 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43400); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43401 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*pexprnode2*/ == NIT_NULL /*null*/) || (( variable6 /*pexprnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*pexprnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*pexprnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*pexprnode2*/, NIT_NULL /*null*/) /*PExpr::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*pexprnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(112)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction562___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction562::init (src/parser//parser.nit:17271,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction562].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction563___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction563::action (src/parser//parser.nit:17275,2--17286:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tidnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17281,6--28\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*tidnode1*/ == NIT_NULL /*null*/) || (( variable4 /*tidnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*tidnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*tidnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*tidnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*tidnode1*/, NIT_NULL /*null*/) /*TId::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*tidnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(113)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction563___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction563::init (src/parser//parser.nit:17288,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction563].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction564___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction564::action (src/parser//parser.nit:17292,2--17313:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17299,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*tidnode2*/==NIT_NULL) || VAL_ISA( variable6 /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17301,6--28\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43402 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(133); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43405 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1176___init(val_t p0, int* init_table){ + int itpos1180 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1176].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1180]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43407; + fra.me.meth = LOCATE_parser___ReduceAction1176___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43407 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1180] = 1; + return; +} +void parser___ReduceAction1177___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43411; + fra.me.meth = LOCATE_parser___ReduceAction1177___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43418 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43418); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AClosureDecl, ID_AClosureDecl)) /*cast nullable AClosureDecl*/; + /* ./parser//parser.nit:43420 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43420); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43422 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43423 */ + } else { + /* ./parser//parser.nit:43425 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43428 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*tidnode2*/ == NIT_NULL /*null*/) || (( variable6 /*tidnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*tidnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*tidnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*tidnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*tidnode2*/, NIT_NULL /*null*/) /*TId::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*tidnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(113)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction564___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction564::init (src/parser//parser.nit:17315,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction564].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction565___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction565::action (src/parser//parser.nit:17319,2--17330:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*tcommentnode1*/==NIT_NULL) || VAL_ISA( variable4 /*tcommentnode1*/, COLOR_TComment, ID_TComment)) /*cast TComment*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17325,6--38\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*tcommentnode1*/ == NIT_NULL /*null*/) || (( variable4 /*tcommentnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*tcommentnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*tcommentnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*tcommentnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*tcommentnode1*/, NIT_NULL /*null*/) /*TComment::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*tcommentnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(114)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction565___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction565::init (src/parser//parser.nit:17332,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction565].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction566___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction566::action (src/parser//parser.nit:17336,2--17357:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17343,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*tcommentnode2*/==NIT_NULL) || VAL_ISA( variable6 /*tcommentnode2*/, COLOR_TComment, ID_TComment)) /*cast TComment*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17345,6--38\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43429 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(133); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43432 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1177___init(val_t p0, int* init_table){ + int itpos1181 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1177].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1181]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43434; + fra.me.meth = LOCATE_parser___ReduceAction1177___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43434 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1181] = 1; + return; +} +void parser___ReduceAction1178___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43438; + fra.me.meth = LOCATE_parser___ReduceAction1178___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:43444 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43444); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43445 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*tcommentnode2*/ == NIT_NULL /*null*/) || (( variable6 /*tcommentnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*tcommentnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*tcommentnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*tcommentnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*tcommentnode2*/, NIT_NULL /*null*/) /*TComment::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*tcommentnode2*/) /*Array::add*/; - } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(114)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction566___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction566::init (src/parser//parser.nit:17359,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction566].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction567___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction567::action (src/parser//parser.nit:17363,2--17374:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = NEW_array___Array___init(); /*new Array[Object]*/ - variable3 = variable4; - variable4 = variable2 /*nodearraylist1*/; - variable5 = TAG_Bool(( variable4 /*teolnode1*/==NIT_NULL) || VAL_ISA( variable4 /*teolnode1*/, COLOR_TEol, ID_TEol)) /*cast TEol*/; - if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17369,6--30\n"); nit_exit(1);} - variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*teolnode1*/ == NIT_NULL /*null*/) || (( variable4 /*teolnode1*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*teolnode1*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*teolnode1*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*teolnode1*/,COLOR_kernel___Object_____eqeq))( variable4 /*teolnode1*/, NIT_NULL /*null*/) /*TEol::==*/))))))); - if (UNTAG_Bool(variable5)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable3 /*listnode2*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*listnode2*/, variable4 /*teolnode1*/) /*Array::add*/; - } - variable1 = variable3 /*listnode2*/ /*node_list=*/; - variable5 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(115)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable5, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction567___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction567::init (src/parser//parser.nit:17376,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction567].i] = 1; - tracehead = trace.prev; - return; -} -void parser___ReduceAction568___action(val_t self, val_t param0) { - struct trace_t trace = {NULL, "parser::ReduceAction568::action (src/parser//parser.nit:17380,2--17401:35)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - val_t variable5; - val_t variable6; - val_t variable7; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*null*/; - variable3 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable2 = variable3; - variable4 = ((parser___Parser___pop_t)CALL( variable0 /*p*/,COLOR_parser___Parser___pop))( variable0 /*p*/) /*Parser::pop*/; - variable3 = variable4; - variable5 = NEW_array___Array___init(); /*new Array[Object]*/ - variable4 = variable5; - variable5 = variable3 /*nodearraylist1*/; - variable6 = TAG_Bool(( variable5 /*listnode1*/==NIT_NULL) || VAL_ISA( variable5 /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/; - if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17387,6--38\n"); nit_exit(1);} - variable6 = variable2 /*nodearraylist2*/; - variable7 = TAG_Bool(( variable6 /*teolnode2*/==NIT_NULL) || VAL_ISA( variable6 /*teolnode2*/, COLOR_TEol, ID_TEol)) /*cast TEol*/; - if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert failed: src/parser//parser.nit:17389,6--30\n"); nit_exit(1);} - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*listnode1*/ == NIT_NULL /*null*/) || (( variable5 /*listnode1*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable5 /*listnode1*/,COLOR_kernel___Object_____eqeq))( variable5 /*listnode1*/, NIT_NULL /*null*/) /*Array::==*/))))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable7 = ((array___AbstractArray___is_empty_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___Collection___is_empty))( variable4 /*listnode3*/) /*Array::is_empty*/; - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable5 /*listnode1*/ /*listnode3=*/; - } else { /*if*/ - ((abstract_collection___IndexedCollection___append_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___IndexedCollection___append))( variable4 /*listnode3*/, variable5 /*listnode1*/) /*Array::append*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43446 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(134); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43449 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1178___init(val_t p0, int* init_table){ + int itpos1182 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1178].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1182]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43451; + fra.me.meth = LOCATE_parser___ReduceAction1178___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43451 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1182] = 1; + return; +} +void parser___ReduceAction1179___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43455; + fra.me.meth = LOCATE_parser___ReduceAction1179___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43462 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43462); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast nullable AType*/; + /* ./parser//parser.nit:43464 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43464); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43466 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43467 */ + } else { + /* ./parser//parser.nit:43469 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43472 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; } } - variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable6 /*teolnode2*/ == NIT_NULL /*null*/) || (( variable6 /*teolnode2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*teolnode2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*teolnode2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*teolnode2*/,COLOR_kernel___Object_____eqeq))( variable6 /*teolnode2*/, NIT_NULL /*null*/) /*TEol::==*/))))))); - if (UNTAG_Bool(variable7)) { /*if*/ - ((array___AbstractArray___add_t)CALL( variable4 /*listnode3*/,COLOR_abstract_collection___SimpleCollection___add))( variable4 /*listnode3*/, variable6 /*teolnode2*/) /*Array::add*/; + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43473 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); } - variable1 = variable4 /*listnode3*/ /*node_list=*/; - variable7 = ((parser___Parser___go_to_t)CALL( variable0 /*p*/,COLOR_parser___Parser___go_to))( variable0 /*p*/, TAG_Int(115)) /*Parser::go_to*/; - ((parser___Parser___push_t)CALL( variable0 /*p*/,COLOR_parser___Parser___push))( variable0 /*p*/, variable7, variable1 /*node_list*/) /*Parser::push*/; - tracehead = trace.prev; - return; -} -void parser___ReduceAction568___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, "parser::ReduceAction568::init (src/parser//parser.nit:17403,1--4)"}; - trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ReduceAction568].i] = 1; - tracehead = trace.prev; + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(134); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43476 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1179___init(val_t p0, int* init_table){ + int itpos1183 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1179].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1183]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43478; + fra.me.meth = LOCATE_parser___ReduceAction1179___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43478 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1183] = 1; + return; +} +void parser___ReduceAction1180___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43482; + fra.me.meth = LOCATE_parser___ReduceAction1180___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:43488 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43488); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43489 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43490 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(135); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43493 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1180___init(val_t p0, int* init_table){ + int itpos1184 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1180].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1184]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43495; + fra.me.meth = LOCATE_parser___ReduceAction1180___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43495 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1184] = 1; + return; +} +void parser___ReduceAction1181___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43499; + fra.me.meth = LOCATE_parser___ReduceAction1181___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43506 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43506); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:43508 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43508); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43510 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43511 */ + } else { + /* ./parser//parser.nit:43513 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43516 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43517 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(135); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43520 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1181___init(val_t p0, int* init_table){ + int itpos1185 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1181].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1185]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43522; + fra.me.meth = LOCATE_parser___ReduceAction1181___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43522 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1185] = 1; + return; +} +void parser___ReduceAction1182___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43526; + fra.me.meth = LOCATE_parser___ReduceAction1182___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43532 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43532); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]); + /* ./parser//parser.nit:43534 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[3] = fra.me.REG[2]; + /* ./parser//parser.nit:43535 */ + } else { + /* ./parser//parser.nit:43537 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(136); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43541 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1182___init(val_t p0, int* init_table){ + int itpos1186 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1182].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1186]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43543; + fra.me.meth = LOCATE_parser___ReduceAction1182___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43543 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1186] = 1; + return; +} +void parser___ReduceAction1183___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43547; + fra.me.meth = LOCATE_parser___ReduceAction1183___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43554 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43554); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43556 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43556); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43558 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43559 */ + } else { + /* ./parser//parser.nit:43561 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43565 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[2]; + /* ./parser//parser.nit:43566 */ + } else { + /* ./parser//parser.nit:43568 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(136); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43572 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1183___init(val_t p0, int* init_table){ + int itpos1187 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1183].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1187]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43574; + fra.me.meth = LOCATE_parser___ReduceAction1183___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43574 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1187] = 1; + return; +} +void parser___ReduceAction1184___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43578; + fra.me.meth = LOCATE_parser___ReduceAction1184___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:43584 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43584); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43585 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43586 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(137); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43589 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1184___init(val_t p0, int* init_table){ + int itpos1188 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1184].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1188]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43591; + fra.me.meth = LOCATE_parser___ReduceAction1184___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43591 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1188] = 1; + return; +} +void parser___ReduceAction1185___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43595; + fra.me.meth = LOCATE_parser___ReduceAction1185___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43602 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43602); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast nullable AExpr*/; + /* ./parser//parser.nit:43604 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43604); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43606 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43607 */ + } else { + /* ./parser//parser.nit:43609 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43612 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43613 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(137); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43616 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1185___init(val_t p0, int* init_table){ + int itpos1189 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1185].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1189]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43618; + fra.me.meth = LOCATE_parser___ReduceAction1185___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43618 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1189] = 1; + return; +} +void parser___ReduceAction1186___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43622; + fra.me.meth = LOCATE_parser___ReduceAction1186___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:43628 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43628); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43629 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43630 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(138); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43633 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1186___init(val_t p0, int* init_table){ + int itpos1190 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1186].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1190]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43635; + fra.me.meth = LOCATE_parser___ReduceAction1186___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43635 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1190] = 1; + return; +} +void parser___ReduceAction1187___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43639; + fra.me.meth = LOCATE_parser___ReduceAction1187___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43646 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43646); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast nullable TId*/; + /* ./parser//parser.nit:43648 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43648); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43650 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43651 */ + } else { + /* ./parser//parser.nit:43653 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43656 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43657 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(138); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43660 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1187___init(val_t p0, int* init_table){ + int itpos1191 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1187].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1191]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43662; + fra.me.meth = LOCATE_parser___ReduceAction1187___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43662 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1191] = 1; + return; +} +void parser___ReduceAction1188___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43666; + fra.me.meth = LOCATE_parser___ReduceAction1188___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TComment, ID_TComment)) /*cast nullable TComment*/; + /* ./parser//parser.nit:43672 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43672); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43673 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43674 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(139); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43677 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1188___init(val_t p0, int* init_table){ + int itpos1192 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1188].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1192]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43679; + fra.me.meth = LOCATE_parser___ReduceAction1188___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43679 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1192] = 1; + return; +} +void parser___ReduceAction1189___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43683; + fra.me.meth = LOCATE_parser___ReduceAction1189___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43690 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43690); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TComment, ID_TComment)) /*cast nullable TComment*/; + /* ./parser//parser.nit:43692 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43692); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43694 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43695 */ + } else { + /* ./parser//parser.nit:43697 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43700 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43701 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(139); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43704 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1189___init(val_t p0, int* init_table){ + int itpos1193 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1189].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1193]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43706; + fra.me.meth = LOCATE_parser___ReduceAction1189___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43706 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1193] = 1; + return; +} +void parser___ReduceAction1190___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43710; + fra.me.meth = LOCATE_parser___ReduceAction1190___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TEol, ID_TEol)) /*cast nullable TEol*/; + /* ./parser//parser.nit:43716 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43716); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43717 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43718 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(140); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43721 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1190___init(val_t p0, int* init_table){ + int itpos1194 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1190].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1194]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43723; + fra.me.meth = LOCATE_parser___ReduceAction1190___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43723 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1194] = 1; + return; +} +void parser___ReduceAction1191___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43727; + fra.me.meth = LOCATE_parser___ReduceAction1191___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43734 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43734); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_TEol, ID_TEol)) /*cast nullable TEol*/; + /* ./parser//parser.nit:43736 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43736); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43738 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43739 */ + } else { + /* ./parser//parser.nit:43741 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43744 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43745 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(140); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43748 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1191___init(val_t p0, int* init_table){ + int itpos1195 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1191].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1195]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43750; + fra.me.meth = LOCATE_parser___ReduceAction1191___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43750 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1195] = 1; + return; +} +void parser___ReduceAction1192___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43754; + fra.me.meth = LOCATE_parser___ReduceAction1192___action; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:43760 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43760); + nit_exit(1); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43761 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43762 */ + array___Array___add(fra.me.REG[3], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[3]; + REGB0 = TAG_Int(141); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43765 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1192___init(val_t p0, int* init_table){ + int itpos1196 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1192].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1196]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43767; + fra.me.meth = LOCATE_parser___ReduceAction1192___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43767 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1196] = 1; + return; +} +void parser___ReduceAction1193___action(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43771; + fra.me.meth = LOCATE_parser___ReduceAction1193___action; + fra.me.has_broke = 0; + fra.me.REG_size = 5; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[4] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[2] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[4] = NEW_Array_array___Array___init(); + REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[Object]*/; + /* ./parser//parser.nit:43778 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43778); + nit_exit(1); + } + REGB0 = TAG_Bool((fra.me.REG[2]==NIT_NULL) || VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast nullable APropdef*/; + /* ./parser//parser.nit:43780 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 43780); + nit_exit(1); + } + REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]); + /* ./parser//parser.nit:43782 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[4] = fra.me.REG[3]; + /* ./parser//parser.nit:43783 */ + } else { + /* ./parser//parser.nit:43785 */ + CALL_abstract_collection___Sequence___append(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); + } + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./parser//parser.nit:43788 */ + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + /* ./parser//parser.nit:43789 */ + array___Array___add(fra.me.REG[4], fra.me.REG[2]); + } + fra.me.REG[0] = fra.me.REG[4]; + REGB0 = TAG_Int(141); + REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0); + /* ./parser//parser.nit:43792 */ + CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return; +} +void parser___ReduceAction1193___init(val_t p0, int* init_table){ + int itpos1197 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ReduceAction1193].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos1197]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_parser; + fra.me.line = 43794; + fra.me.meth = LOCATE_parser___ReduceAction1193___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./parser//parser.nit:43794 */ + CALL_parser___ReduceAction___init(fra.me.REG[0])(fra.me.REG[0], init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1197] = 1; return; }